ЗАДАЧИ ПО ПРОЕКТИРОВАНИЮ БД




В приложении приводятся тексты задач по проектированию баз данных, относящихся к различным предметным областям. Требуется в соответствии с условиями задач:

сформировать структуру таблиц баз данных; подобрать подходящие имена таблицам и их полям;

обеспечить требования нормализации таблиц баз данных (т. е. приведение к пятой нормальной форме);

сформировать SQL-запросы для создания таблиц баз данных с указанием первичных и внешних ключей и необходимых огра- ничений, SQL-запросы для добавления, изменения и выборки необходимых данных.

При решении задач предполагается использование средств, позво- ляющих разрабатывать схемы баз данных, и приложений, работающих с базами данных (Power Designer, Oracle Developer, ERWin, Power Builder, Borland Delphi, C++ Builder и др.)

 

Задача 1. Летопись острова Санта Белинда.

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

Точно так же, как и столетия назад, на острове действуют пред- приниматели, занимающиеся, в частности, ловлей рыбы, заготовкой сахарного тростника и табака. Большинство из них все делают сами, а некоторые нанимают работников, заключая с ними контракты разной


Приложение. Задачи по проектированию БД 151

 

продолжительности. Имеются записи и о том, кто кого нанимал, на какую работу, когда начался и закончился контракт. Собственно, круг занятий жителей острова крайне узок и не меняется веками. Неуди- вительно поэтому, что в летописи подробно описывается каждое дело, будь то рыбная ловля или выпечка хлеба. Все предприниматели — уро- женцы острова. Некоторые объединяются в кооперативы, и по записям можно установить, кто участвовал в деле, когда вступил и когда вышел из него, каким паем владел. Имеются краткие описания деятельности каждого предпринимателя или кооператива, сообщающие, в частности, когда было начато дело, когда и почему прекращено.

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

 

Задача 2. База данных “Скачки”.

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

 

Задача 3. База данных “Хроники восхождений” в альпинистском клубе.

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

1) Для введенного пользователем интервала дат показать список гор с указанием даты последнего восхождения. Для каждой горы сфор- мировать в хронологическом порядке список групп, осуществлявших восхождение.

2) Предоставить возможность добавления новой вершины с указа- нием ее названия, высоты и страны местоположения.

3) Предоставить возможность изменения данных о вершине, если на нее не было восхождения.

4) Показать список альпинистов, осуществлявших восхождение в указанный интервал дат. Для каждого альпиниста вывести список гор, на которые он осуществлял восхождения в этот период, с указанием названия группы и даты восхождения.


 

5) Предоставить возможность добавления нового альпиниста в со- став указанной группы.

6) Показать информацию о количестве восхождений каждого аль- пиниста на каждую гору. При выводе список отсортировать по количе- ству восхождений.

7) Показать список восхождений (групп), которые осуществлялись в указанный пользователем период времени. Для каждой группы по- казать ее состав.

8) Предоставить возможность добавления новой группы, указав ее название, вершину, время начала восхождения.

9) Предоставить информацию о том, сколько альпинистов побывало на каждой горе. Список отсортировать в алфавитном порядке по на- званию вершин.

 

Задача 4. База данных медицинского кооператива.

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

 

Задача 5. База данных “Городская Дума”.

В базе хранятся имена, адреса, домашние и служебные телефоны всех членов Думы. В Думе работает около сорока комиссий, все участ- ники которых являются членами Думы. Каждая комиссия имеет свой профиль, например, вопросы образования, проблемы, связанные с жи- льем, и т. п. Данные по каждой из комиссий включают: председатель и состав, прежние (за 10 предыдущих лет) председатели и члены этой комиссии, даты включения и выхода из состава комиссии, избрания ее председателей. Члены Думы могут заседать в нескольких комиссиях. В базу заносятся время и место проведения каждого заседания комиссии с указанием депутатов и служащих Думы, которые участвуют в его организации.

1) Показать список комиссий, для каждой — ее состав с указанием председателя.

2) Предоставить возможность добавления нового члена комиссии.

3) Для введенного пользователем интервала дат и названия комис- сии показать в хронологическом порядке всех ее председателей.

4) Показать список членов Думы, для каждого из них — список комиссий, в которых он участвовал и/или был председателем.

5) Предоставить возможность добавления новой комиссии, с указа- нием председателя.


 

6) Для указанного интервала дат и комиссии выдать список членов с указанием количества пропущенных заседаний.

7) Вывести список заседаний в указанный интервал дат в хроноло- гическом порядке, для каждого заседания — список присутствующих.

8) Предоставить возможность добавления нового заседания, с ука- занием присутствующих.

9) По каждой комиссии показать количество проведенных заседа- ний в указанный период времени.

 

Задача 6. База данных рыболовной фирмы.

Фирме принадлежит небольшая флотилия рыболовных катеров. Каждый катер имеет паспорт, куда занесены его название, тип, во- доизмещение и дата постройки. Фирма регистрирует каждый выход на лов, записывая название катера, имена и адреса членов команды с указанием их должностей (капитан, боцман и т. п.), даты выхода и возвращения, а также улов (массу пойманной рыбы) отдельно по сортам (например, трески). За время одного рейса катер может посе- тить несколько рыболовных мест (банок). Фиксируется дата прихода на каждую банку и дата отплытия, качество выловленной рыбы (отличное, хорошее, плохое). На борту улов не взвешивается. Написать запросы, осуществляющие следующие операции.

1) По указанному типу и интервалу дат вывести все катера, осу- ществлявшие выход в море, указав для каждого в хронологическом порядке записи о выходе в море и значениях улова.

2) Предоставить возможность добавления выхода катера в море с указанием команды.

3) Для указанного интервала дат вывести для каждого сорта рыбы список катеров с наибольшим уловом.

4) Для указанного интервала дат вывести список банок, с указани- ем среднего улова за этот период. Для каждой банки вывести список катеров, осуществлявших лов.

5) Предоставить возможность добавления новой банки с указанием данных о ней.

6) Для заданной банки вывести список катеров, которые получили улов выше среднего.

7) Вывести список сортов рыбы и для каждого сорта — список рейсов с указанием даты выхода и возвращения, величины улова. При этом список показанных рейсов должен быть ограничен интерва- лом дат.

8) Для выбранного пользователем рейса и банки добавить данные о сорте и количестве пойманной рыбы.

9) Предоставить возможность пользователю изменять характери- стики выбранного катера.

10) Для указанного интервала дат вывести в хронологическом по- рядке список рейсов за этот период времени, с указанием для каждого рейса пойманного количества каждого сорта рыбы.


11) Предоставить возможность добавления нового катера.

12) Для указанных сорта рыбы и банки вывести список рейсов с указанием количества пойманной рыбы. Список должен быть отсорти- рован в порядке уменьшения количества пойманной рыбы.

 

Задача 7. База данных фирмы, проводящей аукционы.

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

В книгах фирмы делается запись о каждом аукционе. Там от- мечаются дата, место и время его проведения, а также специфика (например, выставляются картины, написанные маслом и не ранее 1900 г.). Заносятся также сведения о каждом продаваемом предмете: аукцион, на который он заявлен, номер лота, продавец, отправная цена и краткое словесное описание. Продавцу разрешается выставлять любое количество вещей, а покупатель имеет право приобретать любое количество вещей. Одно и то же лицо или фирма может выступать и как продавец, и как покупатель. После аукциона служащие фирмы, проводящей аукционы, записывают фактическую цену, уплаченную за проданный предмет, и фиксируют данные покупателя.

Написать запросы, осуществляющие следующие операции.

1) Для указанного интервала дат вывести список аукционов в хронологическом порядке с указанием наименования, даты и места проведения. Для каждого из них показать список выставленных вещей.

2) Добавить для продажи на указанный пользователем аукцион предмет искусства с указанием начальной цены.

3) Вывести список аукционов с указанием отсортированных по величине суммарных доходов от продажи.

4) Для указанного интервала дат вывести список проданных на аук- ционах предметов. Для каждого из предметов дать список аукционов, где он выставлялся.

5) Предоставить возможность добавления факта продажи заданного предмета на указанном аукционе.

6) Для указанного интервала дат вывести список продавцов в по- рядке убывания общей суммы, полученной ими от продажи предметов в этот промежуток времени.

7) Вывести список покупателей и для каждого из них — список аукционов, где были сделаны приобретения в указанный интервал дат.

8) Предоставить возможность добавления записи о проводимом аукционе (место, время).


 

9) Для указанного места вывести список аукционов, отсортирован- ных по количеству выставленных вещей.

10) Для указанного интервала дат вывести список продавцов, кото- рые принимали участие в аукционах, с указанием для каждого из них списка выставленных предметов.

11) Предоставить возможность добавления и изменения информа- ции о продавцах и покупателях.

12) Вывести список покупателей с указанием количества приобре- тенных предметов в указанный период времени.

 

Задача 8. База данных музыкального магазина.

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

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

 

Задача 9. База данных кегельной лиги.

Ставится задача спроектировать базу данных для секретаря ке- гельной лиги небольшого городка, расположенного на Среднем Западе США. В ней секретарь будет хранить всю информацию, относящуюся к кегельной лиге, а средствами СУБД — формировать еженедельные отчеты о состоянии лиги. Специальный отчет предполагается форми- ровать в конце сезона.

Секретарю понадобятся фамилии и имена членов лиги, их телефон- ные номера и адреса. Так как в лигу могут входить только жители городка, нет необходимости хранения для каждого игрока названия города и почтового индекса. Интерес представляют число очков, на- бранных каждым игроком в еженедельной серии из трех встреч, в которых он принял участие, и его текущая результативность (среднее


 

число набираемых очков в одной встрече). Секретарю необходимо знать для каждого игрока название команды, за которую он выступает, и фамилию (и имя) капитана каждой команды. Помимо названия, секре- тарь планирует назначить каждой команде уникальный номер.

Исходные значения результативности каждого игрока необходимы как в конце сезона, при определении игрока, достигшего наибольшего прогресса в лиге, так и при вычислении гандикапа для каждого игрока на первую неделю нового сезона. Лучшая игра каждого игрока и лучшие серии потребуются при распределении призов в конце сезона.

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

Наконец, в БД должна содержаться вся информация, необходимая для расчета положения команд. Команде засчитывается одна победа за каждую игру, в которой ей удалось набрать больше очков (выбить больше кеглей), чем команде соперников. Точно так же команде засчи- тывается одно поражение за каждую встречу, в которой эта команда выбила меньшее количество кеглей, чем команда соперников. Коман- де также засчитывается одна победа (поражение) в случае, если по сравнению с командой соперников ею набрано больше (меньше) очков за три встречи, состоявшиеся на неделе. Таким образом, на каждой неделе разыгрывается 4 командных очка (побед или поражений). В случае ничейного результата каждая команда получает 1/2 победы и 1/2 поражения. В случае неявки более чем двух членов команде автоматически засчитывается 4 поражения, а команде соперников — 4 победы. В общий результат команде, которой засчитана неявка, очки не прибавляются, даже если явившиеся игроки в этой встрече высту- пили, однако в индивидуальные показатели — число набранных очков и проведенных встреч — будут внесены соответствующие изменения. Написать запросы, осуществляющие следующие операции.

1) Для указанного интервала дат показать список выступающих команд. Для каждой из них вывести состав и капитана команды.

2) Предоставить возможность добавления новой команды.

3) Вывести список игровых площадок с указанием количества про- веденных игр на каждой из них.

4) Для указанного интервала дат вывести список игровых площа- док, с указанием списка игравших на них команд.

5) Предоставить возможность заполнения результатов игры двух команд на указанной площадке.

6) Вывести список площадок с указанием суммарной результатив- ности игроков на каждой из них.

 

Задача 10. База данных библиотеки.

Разработать информационную систему обслуживания библиотеки, которая содержит следующую информацию: название книги, ФИО авторов, наименование издательства, год издания, количество страниц,


 

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

 

Задача 11. База данных по учету успеваемости студентов.

База данных должна содержать данные:

о

контингенте студентов — фамилия, имя, отчество, год поступ- ления, форма обучения (дневная/вечерняя/заочная), номер или название группы;

об учебном плане — название специальности, дисциплина, се- местр, количество отводимых на дисциплину часов, форма отчет- ности (экзамен/зачет);

о

журнале успеваемости студентов — год/семестр, студент, дис- циплина, оценка.

 

Задача 12. База данных для учета аудиторного фонда универ- ситета.

База данных должна содержать следующую информацию об ауди- торном фонде университета: наименование корпуса, в котором распо- ложено помещение, номер комнаты, расположение комнаты в корпусе, ширина и длина комнаты в метрах, назначение и вид помещения, под- разделение университета, за которым закреплено помещение. В базе данных также должна быть информация о высоте потолков в поме- щениях (в зависимости от места расположения помещений в корпусе). Следует также учитывать, что структура подразделений университета имеет иерархический вид, когда одни подразделения входят в состав других (факультет, кафедра, лаборатория,...).

Помимо SQL-запросов для создания таблиц базы данных, составьте запрос на создание представления (VIEW), в котором помимо приве- денной выше информации присутствовали бы данные о площадях и объемах каждого помещения.

 

Задача 13. База данных регистрации происшествий.

Необходимо создать базу данных регистрации происшествий. База должна содержать:

данные для регистрации сообщений о происшествиях (регистра- ционный номер сообщения, дата регистрации, краткая фабула (тип происшествия));

информацию о принятом по происшествию решении (отказано в возбуждении дела, удовлетворено ходатайство о возбуждении уголовного дела с указанием регистрационного номера заведен- ного дела, отправлено по территориальной принадлежности); информацию о лицах, причастных к происшествию (регистраци- онный номер лица, фамилия, имя, отчество, адрес, количество


 

судимостей, отношение конкретного лица к данному происше- ствию: виновник, потерпевший, подозреваемый, свидетель,...).

 

Задача 14. База данных для подготовки работы конференции.

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

 

Задача 15. База данных для обслуживания склада.

База данных должна обеспечить автоматизацию складского учета.

В ней должны содержаться следующие данные:

информация о “единицах хранения” — номер ордера, дата, код поставщика, балансный счет, код сопроводительного документа по справочнику документов, номер сопроводительного докумен- та, код материала по справочнику материалов, счет материала, код единицы измерения, количество пришедшего материала, цена единицы измерения;

информация о хранящихся на складе материалах (справочник материалов) — код класса материала, код группы материала, наименование материала;

информация о единицах измерения конкретных видов материа- лов — код материала, единица измерения (метры, килограммы, литры и т. п.).

информация о поставщиках материалов — код поставщика, его наименование, ИНН, юридический адрес (индекс, город, улица, дом), адрес банка (индекс, город, улица, дом), номер банковского счета.

 

Задача 16. База данных фирмы.

Фирма отказалась от приобретения некоторых товаров у своих поставщиков, решив самостоятельно наладить их производство. С этой целью она организовала сеть специализированных цехов, каждый из которых принимает определенное участие в технологическом процессе. Каждому виду выпускаемой продукции присваивается, как обычно, свой шифр товара, под которым он значится в файле товарных запасов. Этот же номер служит и шифром продукта. В записи с этим шифром указывается, когда была изготовлена последняя партия этого продукта,

какова ее стоимость, сколько операций потребовалось.


 

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

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

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

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

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

Разработайте структуру таблиц базы данных, подберите имена таб- лиц и полей, в которых могла бы разместиться вся эта информация.


160 Приложение. Задачи по проектированию БД

Напишите SQL-запросы, осуществляющие следующие операции.

1) Для выбранного цеха выдать список выполняемых им операций. Для каждой операции показать список расходных материалов с указа- нием количества.

2) Показать список инструментов и предоставить возможность до- бавления нового.

3) Выдать список используемых инструментов, отсортированных по количеству их использования в различных нарядах.

4) Для указанного интервала дат вывести в хронологическом по- рядке список нарядов, для каждого из которых показать список ис- пользуемых инструментов.

5) Показать список операций и предоставить возможность добавле- ния новой операции.

6) Выдать список расходуемых материалов, отсортированных по количеству их использования в различных нарядах.

7) Выдать список товаров, с указанием используемых при их изго- товлении инструментов.

8) Показать список нарядов в хронологическом порядке и предоста- вить возможность добавления нового.

9) Выдать отчет о производстве товаров различными цехами, указав


 

DBA 114

DDL 13, 78

DML 13

 

e scape-символ 27

 

S QL

— встроенный 13

— интерактивный 12


 

Предметный указатель

— возможный 83

— первичный (PRIMARY KEY) 11, 83–85, 88, 92, 93

— родительский 89, 90, 93, 94

— уникальный 83

ключевые слова 16

команды 16

ALTER TABLE 80, 83, 90, 91

— — ADD 80

— — MODIFY 80

— — добавление столбца 80


наименование цеха, название товара и его количество.


а дминистратор базы данных 114

 

б аза данных учебная 16

— таблица EXAM_MARKS 19

— таблица LECTURER 17

— таблица STUDENT 17

— таблица SUBJ_LECT 19

— таблица SUBJECT 18

— таблица UNIVERSITY 18

 

в ставка

— столбцов 80

— строк 71, 74

 

д екартово произведение 58

 

и зменение таблицы 80, 83

индексация 79

— создание индекса 79

— удаление индекса 80 использование символа * 21

 

к люч

— внешний (FOREIGN KEY) 12, 59,

83, 89–91, 93, 95, 96


— — изменение описания столбцов 80

— — синтаксис 80, 84, 91

COMMIT 118

CREATE INDEX 79

CREATE TABLE 71, 78, 82, 87, 90

— — синтаксис 84

CREATE USER 108, 115

CREATE VIEW 97

DELETE 71, 72, 75, 76, 94, 99, 112

— — ограничение удаления роди- тельского ключа

— — — CASCADE 94

— — — NO ACTION 94

— — — RESTRICT 94

— — — SET DEFAULT 94

— — — SET NULL 94

DROP INDEX 80

DROP TABLE 80

DROP USER 108

DROP VIEW 104

GRANT 108, 109, 111, 114

INSERT 71, 72, 74, 78, 82, 93, 94,

100, 112

— — VALUES 71, 74

— — вставить NULL -значение 71

REVOKE 108, 111

ROLLBACK 118


6 И. Ф. Астахова, В. М. Мельников, А. П. Толстобров, В. В. Фертиков


 


SELECT 20, 79

— — аргументы

— — — ALL 38

— — — DISTINCT 12, 22, 38

— — использование символа * 21

— — оператор JOIN 58, 59

— — оператор объединения таблиц

UNION 20

— — предложения

— — — FROM 20

— — — GROUP BY 20, 39

— — — HAVING 20, 39, 46, 49

— — — ORDER BY 20, 43, 44, 68

— — — — ASC 43

— — — — DESC 43

— — — WHERE 20, 23, 25, 73, 74

— — синтаксис 20

UPDATE 71–73, 76, 93, 94, 99

— — ограничение модификации ро- дительского ключа

— — — CASCADE 94

— — — NO ACTION 94

— — — RESTRICT 94

— — — SET NULL 94

— — предложения SET 72, 73

— — синтаксис 72

— манипулирование данными 71

— оператор соединения таблиц

— — JOIN 58, 60, 62, 63

— — — CROSS 58

— — — INNER 58, 62

— — — LEFT OUTER JOIN 62

— — — RIGHT OUTER JOIN 63

 

л огика трехзначная 16, 42

 

м анипулирование данными 71

модель данных 10

 

о бновление 72

обозначения при описании синтак- сиса команд 16

ограничения 81

ALTER TABLE 90

CHECK 85, 86, 113, 116

CONSTRAINT 81, 84

CREATE TABLE 90


DEFAULT 83, 86, 87

DELETE 94

FOREIGN KEY 90, 91, 93

INSERT 93, 94

NOT NULL 81, 82

PRIMARY KEY 85, 88, 92, 93

UNIQUE 83, 84, 88

UPDATE 93, 94

WITH CHECK OPTION 113, 116

— альтернативы для NULL 87

— в командах

— — ALTER TABLE 83, 84

— — CREATE TABLE 78, 82, 84

— — INSERT 82

— ввод значений поля 90

— значения по умолчанию 86, 87

— ключ

— — внешний (FOREIGN KEY) 90, 91, 93

— — первичный (PRIMARY KEY) 81, 83–85, 88, 92, 93

— — родительский 89, 90, 93, 94

— — — модификация 93, 94

— — составной 85, 89

— модификация значений поля 90

— присвоение имен 84

— проверка значений полей 85, 86

— ссылочная целостность 88, 90, 93,

— столбца 81, 91

— таблицы 81–83, 85, 90, 91

— удаление значений поля 90

— удаления и модификации роди- тельского ключа ON DELETE и ON UPDATE

— — CASCADE 94

— — NO ACTION 94

— — RESTRICT 94

— — SET DEFAULT 94

— — SET NULL 94

— уникальность 83, 84, 88 операторы

(вычитание) 29

"
(конкатенация строк) 29

— * (умножение) 29

— + (сложение) 29

— / (деление) 29

ALL 55


ANY 55

BETWEEN 25–27, 107

COUNT 57

EXISTS 50, 55, 57

IN 25, 45–47, 52, 53, 74–77, 106,

107, 113

IS NOT NULL 16

IS NULL 16

LIKE 25–27

NOT IN 25, 52

UNION 66, 68

— сравнение 11, 23, 87

отмена привилегий 111

отношение 10

— атрибут 11

— домен 11

— заголовок 10

— кардинальное число 11

— ключ

— — внешний (FOREIGN KEY) 12

— — первичный (PRIMARY KEY) 11

— кортеж 11

— свойства 11

— степень 11

 

п ароль 108, 115

IDENTIFIED BY 108, 115

подзапросы 74

— в командах

— — DELETE 75

— — UPDATE 76

— в предложениях

— — FROM 75

— — HAVING 46

— в представлениях 103

— вложенные 45

— связанные 46, 50

— — в предложении HAVING 49 пользователи 108

— создание 108, 115

— удаление 108

права доступа 108; см. привилегии представление (VIEW) 97, 98

— агрегированное 102

— вставка строки 102

— защита данных 105, 106

— использование команды

— — DELETE 99


— — GROUP BY 102

— — INSERT 72, 102, 112

— маскирующее 99

— — столбцы 99, 101

— — — модификация 99

— — строки 99

— — — модификация 100, 101

— многих таблиц 103

— модификация 73, 76, 98, 99

— — значений 105

— — использование

— — — DISTINCT 105

— — — GROUP BY 105

— — — HAVING 105

— — подзапросы 105

— не обновляемое 105, 106

— обновляемое 105, 112

— подзапросы 103

— создание 97

— удаление 104

префикс 116

привилегии 108, 110, 113

— аргументы

— — ALL 110

— — ALL PRIVILEGES 110

— — PUBLIC 110, 111

— базы данных 114

— в базовых таблицах 110

— в представлениях 110

— виды 108, 109

— — ALTER 109

— — DELETE 109, 112

— — EXECUTE 109

— — INDEX 109

— — INSERT 109, 112

— — REFERENCES 109, 112

— — SELECT 109, 112, 113

— — SYNONYM 109

— — UPDATE 109, 112

— использование представлений 111

— ограничение для строк 112

— отмена 108

— регистрации 114

— системы 114

— — CONNECT 114, 115

— — DBA 114, 115

— — RESOURCE 114, 115


 

6*


 


— — Администратор Базы Данных 114

— — подключить 114

— — ресурс 114

— создавать

— — базовые таблицы 114

— — представления 114

— — синонимы 114

— установка 108, 109, 114

— фильтрация 111

псевдонимы 65

 

р еляционная модель данных 10

 

с бои 118

символьные константы 28

синонимы 116

CREATE SYNONYM 116

DROP SYNONYM 117

— общего пользования (PUBLIC) 117

— создание 116

— удаление 117

соединение 59

— внешнее 62

— — левое 62, 63

— — полное 63

— — правое 63

— — синтаксис ORACLE 63

— внутреннее (INNER) 58, 62

— использование псевдонимов 65

— полное (CROSS) 58

— эквисоединение 58 создание

— индексов 79

— объектов базы данных 78

— пользователей 108

— представлений 97

— синонимов 116, 117

— таблиц базы данных 78 сравнение 11, 23, 87

ссылочная целостность 12, 59,

88–91, 93–96

столбец

— добавление 80

— изменение описания 80 строка

— вставка 71


— идентификаторы строк ROWID 79

— удаление 72, 76, 112

суперпользователь 114

 

 

т аблица 10

— базовая 97

— виртуальная 98, 103

— изменение 80, 83

— именованная 97

— родительская 90

— удаление 80 типы данных

— пропущенные данные (NULL) 15, 16, 41, 55, 71, 81, 82, 84, 87

— строка символов

— — CHAR 13

— — CHAR VARYING 14

— — CHARACTER 13

— — CHARACTER VARYING 14

— — VARCHAR 14

— числовые типы 14

— — DECIMAL 14

— — DOUBLE PRECISION 15

— — FLOAT 14

— — INTEGER 14

— — NUMBER 15

— — NUMERIC 14

— — REAL 14

— — SMALLINT 14

типы данных SQL 13 транзакция 118

AUTOCOMMIT 118

— завершение 118

— — COMMIT 118

— — ROLLBACK 118

— — нормальное 118

— — откат 118

 

 

у даление

— индексов 80

— пользователей 108

— представлений 104

— синонимов 117

— строк 72, 76, 112

— таблиц базы данных 72, 80


ф ункции

— агрегирующие 38

— — AVG 38, 42

— — COUNT 38, 41

— — COUNT



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2021-10-08 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: