Главная » Просмотр файлов » Диго С.М. Базы данных проектирование и использование

Диго С.М. Базы данных проектирование и использование (1084447), страница 52

Файл №1084447 Диго С.М. Базы данных проектирование и использование (Диго С.М. Базы данных проектирование и использование) 52 страницаДиго С.М. Базы данных проектирование и использование (1084447) страница 522018-01-12СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 52)

UPDATE таблица

SET новоеЗначение

WHERE условиеОтбора

Если «условиеОтбора » не задано, то обновляться будут все запи­си таблицы. При использовании условия отбора, чтобы убедиться, что будут изменены именно требуемые записи, рекомендуется сначала выполнить запрос на выборку, использующий те же самые условия отбора, а затем выполнить запрос на обновление записей.

Запрос

UPDATE сотрудник SET оклад =оклад*1,2;

увеличит оклады всех сотрудников на 20%.

Одновременно можно изменить значения нескольких полей запи­си. В этом случае выражения во фразе SET перечисляются через запятую:

UPDATE Заказы

SET СуммаЗаказа = СуммаЗаказа * 1.1,

СтоимостьДоставки = СтоимостьДоставки * 1.03

WHERE СтранаПолучателя = "Литва";

В рассмотренных выше примерах изменения затрагивали мно­жество записей, а новые значения получались путем вычисления. Изменения могут касаться и одной конкретной записи, а новое зна­чение может быть задано как константа. Например, если сотрудни­ца (Код_ сотрудника=25) вышла замуж и сменила фамилию, то соот­ветствующий запрос может выглядеть следующим образом:

UPDATE сотрудник

SET Фамилия = "Жукова", [семейное положение] = "замужем"

WHERE Код_сотрудника=25;

Имя поля [семейное положение] взято в квадратные скобки в связи с тем, что поле содержит пробел в имени, а для SQL это недопустимо.

В принципе запрос на корректировку может затрагивать несколь­ко связанных таблиц. Например, если мы хотим увеличить зарплату сотрудников, имеющих детей, на 20%, то запрос будет выглядеть сле­дующим образом:

UPDATE DISTINCTROW сотрудник INNER JOIN дети

ON сотрудник.Код_сотрудника = дети.Код_сотрудника

SET сотрудник.Оклад = [сотрудник]![Оклад]*1.2;

Запрос

UPDATE сотрудник INNER JOIN дети

ON сотрудник.Код_сотрудника = дети.Код_сотрудника

SET сотрудник.Оклад = [сотрудник]![Оклад]*1.2;

приведет к увеличению зарплаты на 20% за каждого из детей.

Записи, измененные с помощью запроса на обновление, часто бывает невозможно восстановить. Поэтому перед выполнением зап­росов на обновление рекомендуется создавать резервную копию.

Удаление записей

Запрос на удаление записей предназначен для удаления записей из одной (или нескольких взаимосвязанных) таблицы. Для выполне­ния таких действий используется инструкция DELETE, имеющая син­таксис

DELETE [таблица*]

FROM таблица

WHERE условиеОтбора

Указывать имя таблицы во фразе DELETE необязательно. Если воспользоваться QBE в качестве построителя, то во фразе DELETE перечисляются все поля, которые указываются в условии запроса. Например, запрос на удаление записи, относящейся к аспиранту Си­дорову, будет выглядеть следующим образом:

DELETE аспирант.ФИО

FROM аспирант

WHERE (((аспирант.ФИО)="Сидоров"));

Но лучше не использовать такую форму записи, поскольку она, во-первых, может ввести в заблуждение относительно того, что же удаляется из таблицы, и, во-вторых, загромождает команду, никак не влияя на ее результат. Поэтому лучше эту команду записать следую­щим образаом:

DELETE

FROM аспирант

WHERE ФИО="Сидоров";

Запрос на удаление записей из нескольких таблиц выглял внешне как удаление из одной таблицы. Например, запрос

DELETE

FROM сотрудник

WHERE сотрудник.Должность="стажер";

удалит записи не только из таблицы «Сотрудник», но и из связанны;, с ней таблиц, например из таблицы «Дети», если при задании связи между таблицами задано ограничение связи и определено каскадное удаление записей.

7.9.4. Запрос к серверу

Запрос к серверу SQL - это запрос, который используется для пря­мой отправки команд на сервер базы данных SQL (например, Microsoft SQL Server). Запросы к серверу позволяют непосредственно работать с таблицами на сервере вместо того, чтобы присоединять их. Запро­сы к серверу используются для выполнения запросов на языке SQL и системных команд, написанных на варианте языка SQL, который под­держивается на конкретном сервере.

Если запрос к серверу возвращает записи, то они входят в стати­ческий набор записей.

Для создания запроса к серверу следует в диалоговом окне Но­вый запрос выбрать режим Конструктор и щелкнуть по кнопке ОК. Далее в диалоговом окне Добавление таблицы, не добавляя табли­цы или запросы, щелкнуть по кнопке Закрыть. Затем в меню Запрос необходимо выбрать команду Запрос SQL и подкоманду Запрос к серверу, открыть окно свойств запроса и указать в свойстве «Строка подключения ODBC (ODBCConnectStr)» сведения, необходимые для подключения к внешней базе данных. Строку подключения можно ввести самостоятельно или, щелкнув по кнопке Построить, ввести данные о сервере, к которому необходимо подключиться.

В ответ на приглашение сохранить пароль в строке подключения щелкните по кнопке Да, если требуется сохранить в строке подклю­чения пароль и имя.

Если запрос не принадлежит к типу запросов, в которых возвра­щаются записи, выберите для свойства «Возврат записей (Returns-Records)» значение Нет.

Введите инструкцию SQL в окно запроса к серверу.

За сведениями о синтаксисе запроса следует обращаться к доку­ментации сервера базы данных SQL, на который посылается запрос.

При необходимости Microsoft Access выведет приглашение ввес­ти сведения, требуемые для подключения к базе данных на сервере SQL.

На это следует обратить внимание

  • Стандарт SQL - это эталон, к которому следует стремиться при создании СУБД.

  • Ни одна СУБД не реализует полностью все возможности стан­дарта.

  • Необходимо детально изучить диалект SQL той СУБД, в среде которой вы работаете.

  • Особенно внимательно к особенностям реализации SQL следу­ет относиться при работе в гетерогенной среде.

  • SQL не является функционально полным языком. Как правило, он используется совместно с каким-либо включающим языком.

Контрольные вопросы

  1. Какие объекты могут быть созданы средствами языка SQL?

  2. Какой командой может быть создана таблица? Напишите формат этой команды.

  3. Какие типы данных допустимы в SQL?

  4. Какие ограничения и каким способом можно задать при описании таблиц в SQL?

  5. Можно ли создать таблицы SQL, не пользуясь командой CREATE? Если да, то как это можно сделать?

  6. Какой командой можно удалить таблицу? Напишите формат этой команды.

  7. Что происходит при удалении таблицы с объектами, связанными с этой таблицей?

  8. Какой оператор используется для ввода новых данных в таблицу? Напишите формат этого оператора.

  9. Как будет выглядеть оператор команды INSERT при вводе в табли­цу значений не всех колонок?

  10. Как будет выглядеть формат оператора INSERT при вводе в таб­лицу значений всех колонок в том порядке, в котором они заданы при описании таблицы?

  11. Как можно добавить в таблицу данные из другой таблицы? Какие ус­ловия должны быть выполнены при добавлении записей из другой таблицы?

  12. Какой оператор используется для корректировки значений отдель­ных колонок таблицы? Напишите формат этого оператора.

  13. Можно ли задать корректировку всех значений определенной ко­лонки таблицы? Если да, то как это можно сделать?

  14. Как можно удалить заданную строку в таблице? Напишите фор­мат соответствующего оператора.

  15. Что произойдет, если в операторе DELETE не будет задана фраза WHERE?

  16. Напишите полный формат оператора SELECT.

  17. Какие предложения являются обязательными в операторе SELECT?

  18. Как можно задать состав колонок, выводимых в ответ?

  19. Как можно вывести в ответ значения вычисляемых колонок?

  20. Какие имена будут иметь вычисляемые колонки? Как можно из­менить имя выводимой колонки?

  21. Как можно коротко указать, что в ответ должны быть выведены значения всех колонок таблицы?

  22. Что означает параметр ALL в предложении SELECT?

  23. Что означает параметр DISTINCT в предложении SELECT?

  24. Какие агрегирующие функции могут быть использованы в SQL?

  25. Могут ли в предложении SELECT использоваться агрегирующие функции? константы?

  26. В каких предложениях оператора SELECT могут использоваться агрегирующие функции?

  27. В каком предложении оператора SELECT указывается, из каких таблиц должны извлекаться данные?

  28. Назовите все известные вам способы задания совместной обра­ботки нескольких таблиц.

  29. Каково назначение фразы WHERE в операторе SELECT?

  30. Назовите все известные вам способы, которыми можно задать вы­бор значений по заданному диапазону.

  31. С какой целью используется предикат LIKE? для каких колонок?

  32. Что называется вложенным запросом? Как он реализуется?

  33. В каких случаях надо использовать предложение GROUP BY в команде SELECT?

  34. Как связаны между собой предложения SELECT и GROUP BY команды SELECT?

  35. Как связано между собой использование предложения GROUP BY и агрегирующих функций?

  36. Каково назначение фразы HAVING?

  37. Могут ли в команде SELECT одновременно использоваться пред­ложения WHERE и HAVING?

  38. Как можно задать упорядочение данных в ответе?

  39. Как связаны между собой предложения SELECT и ORDER BY в операторе SELECT?

  40. Как можно выполнить соединение нескольких таблиц в SQL?

  41. Как можно выполнить объединение нескольких таблиц в SQL?

  42. Какие ограничения накладываются на операторы SELECT, резуль­таты которых объединяются?

  43. Как можно запомнить результаты выполнения запросов?

  44. Какие виды таблиц различают в SQL?

  45. Что такое «представление»?

  46. Как можно создать представление? Напишите формат соответству­ющего оператора.

  47. С какой целью используются представления?

  48. Какие представления являются обновляемыми?

  49. Что представляют собой курсоры? Как они создаются? В каких случаях и для каких целей используются?

  50. Какие отличия имеет MS Jet Access SQL от стандарта ANSI?

Глава 8 СОЗДАНИЕ ЭКРАННЫХ ФОРМ И СТРАНИЦ ДОСТУПА

8.1. Понятие, классификация и роль экранных форм

Ввод и просмотр данных в режиме таблицы имеет много оче­видных недостатков. Поэтому, как правило, для удобства пользова­телей создаются экранные формы, которые позволяют рационально расположить данные на экране, использовать разнообразные эле­менты оформления, обеспечивать возможности специфических про­верок при вводе данных. Во многих СУБД имеются возможности использования Мастеров, автоматизирующих процесс создания эк­ранных форм. Генераторы экранных форм являются компонентом языков 4-го поколения. Использование генераторов экранных форм позволяет практически без программирования создавать довольно сложные системы обработки данных с хорошим пользовательским интерфейсом.

Экранные формы уже давно применяются в практике создания БнД. Роль форм очень сильно возросла и изменилась в последнее время. Сейчас экранные формы используются не только для ввода данных в базу данных, корректировки данных, а также позаписного вывода данных, что является их традиционными сферами примене­ния, но и для реализации просмотров БД по определенным условиям, и даже создания «заставок» и меню (так называемые несвязанные формы, т.е. формы, не связанные с какой-либо таблицей).9

Если первоначально формы определялись только как способ ото­бражения одной записи из БД, то сейчас в формах допускается нали­чие табличной (многострочной) части; более того, допускается нали­чие множества «динамических» частей, возможно, из разных БД.

Тем не менее в некоторых СУБД «форма» так и сохранила свое назначение для позаписной обработки БД.

Понятие «форма» и инструменты ее создания используются сей­час не только в СУБД, но и в других классах программных систем, например в табличных процессорах.

Общепринятой в настоящее время является практика, когда в эк­ранной форме помимо информационных присутствуют и управляю­щие (controls) элементы.10

Несмотря на наличие возможности создавать несвязанные фор­мы, чаще всего формы все-таки связаны с таблицами БД (одной или несколькими взаимосвязанными). Кроме того, экранные формы мо­гут создаваться на основе предварительно сформулированных запро­сов; для таких форм их связь с таблицами является опосредованной.

Экранные формы можно классифицировать (рис. 8.1) по ряду при­знаков.

  1. По характеру связи с таблицами различают связанные и не­ связанные экранные формы. Если форма отражает какие-либо данные из таблиц баз данных, она называется связанной (или присоединенной), в противном случае - несвязанной.

По числу используемых таблиц выделяют однотабличные и многотабличные формы.

По характеру соподчинения отдельных частей многотабличные формы классифицируются как простые, иерархические и синхрони­зированные. Простые многотабличные формы хотя и содержат дан­ные из разных таблиц, но не имеют в своем составе соподчиненных частей. Такие формы могут возникнуть, например, когда они базиру­ются на таблицах, связанных друг с другом отношением 1:1, или ког­да в форму выводятся данные из таблиц, связанных друг с другом отношением 1 :М, но в форму в основном выводятся данные, находя­щиеся со стороны «М», а из таблицы, находящейся со стороны «1», берутся какие-то, обычно справочные, данные, т.е. ведущим здесь как бы является таблица, находящаяся со стороны «М». Но наиболее ес­тественной для многотабличных форм все-таки является ситуация, когда ведущая таблица находится на стороне «1». В этом случае со­здаются иерархические формы, когда в форму в ее общей части выво­дятся данные из одной записи ведущей таблицы, а в табличной части - множество связанных с ней записей ведомого (зависимого) файла. Иногда (по разным причинам) бывает нецелесообразно выводить в одну иерархическую форму данные и из основного, и из зависимого файла, и данные из зависимого файла выводятся в отдельной «зоне», которая открывается «при нажатии» соответствующей управляющей кнопки. Такие формы называются синхронизированными.

  1. По выполняемым функциям различают формы ввода, вывода, управляющие, смешанные. Назначение каждого вида этих форм ясно из их названия. Следует обратить внимание на то, что даже в случае, если формы для ввода и вывода полностью совпадают по своему внеш­нему виду, иногда целесообразно их выполнить как самостоятельные формы в целях обеспечения безопасности данных.

  2. По распределению данных по экранам (страницам) формы делятся на одностраничные и многостраничные; одной из разновид­ностей многостраничных форм можно считать формы с вкладками.

  3. По способу реализации экранные формы могут быть всплыва­ющими и невсплывающими. Всплывающая форма располагается поверх других открытых форм, даже если активной является другая форма. Всплывающая форма может быть немодальной или модаль­ной. Если всплывающая форма - модальная, пользователь имеет воз­можность получить доступ к другим объектам и командам меню, пока форма открыта. Если всплывающая форма является немодальной, нельзя получить доступ к любым другим объектам или командам меню, пока форма открыта. Пользователь должен выполнить какое-либо действие, чтобы фокус был переключен на другую форму (или окно).

  4. По форме представления информации экранные формы мо­гут содержать символьную информацию, деловую графику, инфор­мацию, представленную в мультимедийной форме.

Например, в БД, хранящей информацию о животных, наряду с описанием каждого вида может выводиться изображение животного и воспроизводиться издаваемый им звук.

Характеристики

Тип файла
Документ
Размер
11,48 Mb
Тип материала
Предмет
Высшее учебное заведение

Список файлов книги

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6289
Авторов
на СтудИзбе
315
Средний доход
с одного платного файла
Обучение Подробнее