Файл: Лабораторная работа 1 Архитектура реляционных баз данных.doc
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 11.01.2024
Просмотров: 122
Скачиваний: 1
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Хотя проверочные ограничения на значение работают быстрее и устанавливаются проще, но правила гибче. После определения правила оно может быть связано со столбцами нескольких таблиц, но для одного столбца можно задать лишь одно правило и несколько проверочных условий.
Далее вводим для столбцов созданных таблиц следующие ограничения:
Таблица | Поле | Ограничение |
Поставщики | Код_поставщика | Primery key |
Название | Unique | |
Телефон | Defaults (“000 111-11-11”) | |
Заказы | Код_заказа | Primery key |
Код_книги | Foreign key (Код_книги из Книги, NULL-значения не допускаются, автомат. обновление при изменении Код_книги из Книги, удаления из Книги не допускаются). | |
Код_заказчика | Foreign key (Код_заказчика из Заказчики, NULL-значения не допускаются, автомат. обновление при изменении Код_заказчика из Заказчики, удаления из Заказчики не допускаются) | |
Оплачен | Check (“Так”, “Ні”) | |
Дата | Defaults (timenow()) | |
Заказчики | Код_заказчика | Primery key |
Телефон | Defaults (“000 111-11-11”) | |
Книги | Код_книги | Primery key |
Поставки | Номер | Primery key |
Код_книги | Primery key Foreign key (Код_книги из Книги, NULL-значения не допускаються, обновления при изменении Код_книги из Книги не допускаются, удаления из Книги не допускаются). | |
Код_поставщика | Foreign key (Код_ поставщика из Поставщики, NULL-значения допускаются, автомат. обновления при изменении Код_поставщика из Поставщики, при удалении из Поставщики установить в NULL) |
В заключение для каждой таблицы генерируем отчет Data Dictionary Report. Для таблицы Поставки, например, он должен выглядеть так:
Table Data dictionary report - Поставки
Generated: 25.09.2011 19:49:30
Server: PostgreSQL 9.0 (localhost:5432)
Database: BookShop
Schema: public
Columns
Name | Data type | Not Null? | Primary key? | Default | Comment |
Номер | integer | Yes | Yes | nextval('"Поставки_Номер_seq"'::regclass) | |
Код_книги | integer | Yes | No | | |
Код_поставщика | integer | No | No | | |
Количество | integer | No | No | | |
Дата | date | No | No | | |
Constraints
Name | Type | Definition | Comment |
pk_поставки | Primary key | ("Номер") | |
fk_поставки_1 | Foreign key | ("Код_книги") REFERENCES "Книги" ("Код_книги") MATCH SIMPLE ON UPDATE RESTRICT ON DELETE RESTRICT | |
fk_поставки_2 | Foreign key | ("Код_поставщика") REFERENCES "Поставщики" ("Код_поставщика") MATCH SIMPLE ON UPDATE CASCADE ON DELETE SET NULL | |
Шаг 4: Ввод данных в таблицы.
Для просмотра и манипулирования данными в таблицах в pgAdmin предназначены соответствующие команды из меню Tools или кнопки на панели инструментов. При вводе данных в таблицы следует помнить об ограничениях, которые были определены для столбцов и таблиц базы данных. Не следует забывать, что: 1) внешние ключи могут принимать только те значения, которые уже введены (!) в поля тех таблиц, на которые эти внешние ключи ссылаются; 2) в столбцы с типом serial (счетчик) нельзя самим вводить значения; 3) если в столбец, для которого определено значение по умолчанию, не водится никакого значения, то автоматически будет введено значение по умолчанию.
Для того, чтобы ввести в таблицу новое значение, необходимо просто перейти к строке, отмеченной звездочкой (*) и начать вводить необходимые значения в соответствующие столбцы.
После того, как введены все новые строки или после изменения данных, необходимо зафиксировать этот факт в базе данных, для чего нужно выполнить команду Refresh, нажав одноименную кнопку на панели инструментов окна Edit Data.
Чтобы удалить какую-либо строку таблицы, достаточно выделить ее, щелнув левой кнопкой мыши по ее номеру, и выполнить команду Delete контекстного меню. Но при этом следует помнить о целостности данных по ссылкам, если она применяется в базе данных.
Вводим несколько произвольных строк в таблицы базы данных BookShop с учетом определенных ограничений на значения столбцов.
- 1 2 3 4
Контрольное задание.
3.1. Используя метод нормализации универсального отношения, разработать инфологическую модель базы данных, определить ограничения целостности, создать БД и ввести тестовые данные в каждую из созданных таблиц.
№ | Название разрабатываемой БД и атрибуты универсального отношения. |
1 | Торговля |
Код изделия, наименования, марка, производитель, номер приходной накладной, дата поступления, на состав, количество единиц, закупочная цена, розничная цена, номер счета-фактуры, дата продажи, количество проданных единиц, сумма, тип платежа нал/безнал, банковские реквизиты покупателя для безналичного расчета. | |
2 | Комунальные платежи. |
Код услуги, наименование, единица измерения, тарифная зона, стоимость единицы, лицевой счет клиента, ФИО клієнта, адрес, телефон, месяц/год, объем потребления услуги, сумма к оплате, сумма задолженности. | |
3 | Услуги. |
Личный номер клиента, ФИО клиента, дата рождения, домашний адрес, телефон, дата и время приема заказа, тип выполняемой работы, тариф, личный номер мастера, ФІО мастера, номер ордера на выполнение заказа, дата и время начала работы, дата и время закрытия ордера, объем выполненной работы, стоимость. | |
4 | Начисление зарплаты. |
Номер личного дела, ФИО сотрудника, домашний адрес, домашний телефон, рабочий телефон, дата приема, на работу, стаж работы по специальности, общий стаж работы, образование, квалификация, должность, ставка заработной платы, месяц/год, количество рабочих дней за месяц, фактически отработанных дней, премиальные, отпускные, удержания в процентах от начисления, аванс, сумма, к выдаче. | |
5 | Поставки. |
Код продукции, наименование продукции, единица измерения, код производителя, месяц и год выпуска, код поставщика, юридическое наименование поставщика, юридический адрес поставщика, банковские реквизиты поставщика, телефон поставщика, номер договора на поставку, дата подписания договора, срок поставки, количество единиц, показатель качества, оптовая цена, условия поставки. | |
6 | Билетная касса. |
Номер рейса, пункт отправления, пункт назначения, время отправления, время прибытия, категория билета, стоимость билета, тип транспортного средства, общее количество мест, количество мест данной категории, уникальный порядковый номер пассажира, ФІО пассажира, дата и время отправления по билету, дата и время продажи билета, дата и время бронирования билета. | |
7 | Отдел кадров. |
Личный номер сотрудника, ФИО сотрудника, номер паспорта, дата рождения, домашний адрес, домашний телефон, образование, номер диплома, код специальности, наименования специальности, квалификация, код должности, наименования должности, должностной оклад, дата прохождения повышения квалификации, присвоена квалификация, свидетельство о повышении квалификации, дата поощрения, вид поощрения, дата наложенного взыскания, вид взыскания. | |
8 | Отель. |
Номер паспорта клиента, ФИО, дата рождения, гражданство, номер комнаты, категория, стоимость проживания за сутки, дата и время поселения, дата и время выселения, дата бронирования, сумма к оплате, личный номер администратора, ФИО администратора. | |
9 | Производство. |
Код продукции, наименование, код сырья, наименования сырья, норма затрат сырья для производства единицы продукции, процент потерь при изготовлении продукции, себестоимость продукции, оптовая цена, год выпуска, план выпуска, фактически произведено, процент бракованной продукции, валовой доход, чистая прибыль, номер экспортной партии, дата отправления на экспорт, наименование импортера, страна импортера, количество продукции, в партии. | |
10 | Банк. |
Код клиента, юридическое наименование клиента, юридический адрес клиента, ФИО директора, телефон директора, ФИО главного бухгалтера, телефон бухгалтера, номер счета клиента, остаток на счете, номер счета дебитора, банк дебитора, юридическое наименование дебитора, номер счета кредитора, банк кредитора, юридическое наименование кредитора, номер договора о кредитовании, дата выдачи кредита, срок пользования кредитом, сумма кредита, процентная ставка. | |
11 | Экспорт/импорт. |
Код предприятия, название предприятия, юридический адрес, телефон/факс, WWW, балансовый год, валовой доход, чистая прибыль, код товарной номенклатуры внешнеэкономической деятельности (ТНЗД), наименование ТНЗД, код группы производства (ГВ), наименования ГВ, год операции экспорта/импорта, объем экспорта/импорта, рейтинг предприятия. | |
12 | Проект. |
Код работы, наименование работы, дата начала, самая ранняя дата начала, дата окончания, самая поздняя дата окончания, общий объем в человеко-часах, общая потребность в материалах в условных единицах, номер вехи, показатель объема выполненной работы в процентах к общему объему, показатель использованных материалов в процентах к общей потребности, код исполнителя, наименования исполнителя, юридический адрес исполнителя, номер недели с начала года, объем выполненной работы, количество использованных материалов. |
-
Оформить отчет по результатам выполнения контрольного задания:
Отчет должен содержать:
1. Инфологическую модель БД (на языке таблица-связь).
2. Разработанные ограничения целостности.
3. Отчеты Data Dictionary Report, сгенерированные для каждой созданной при выполнении контрольного задания таблицы.
4. Отчеты Data Dictionary Report, сгенерированные для каждой таблицы БД BookShop.
Контрольные вопросы:
-
Сформулируйте основные свойства реляционной таблицы. -
Что такое первичный ключ? -
Что такое нормализация отношений? Дайте определение 1NF, 2NF, 3NF, NFBK. -
Сформулируйте правила нормализации отношений. -
Из каких файлов состоит база данных SQL Server? -
Сформулируйте правила обеспечения целостности данных в реляционных СУБД. -
Что такое инфологическая модель базы данных? -
Что такое логическая модель базы данных? -
Из каких стандартных объектов состоит модель базы данных SQL Server? -
Что такое транзакция? -
Что такое глобальный уникальный идентификатор? -
Что такое декларативная ссылочная целостность? -
Что такое экстент? Какие типы экстентов используются в SQL Server? -
Почему в SQL Server используются несколько журналов транзакций, расположенных на разных физических дисках? -
Какова структура файла базы данных SQL Server? -
Для чего и как определяются ограничения на значение столбцов? -
Что такое ограничение первичного ключа? -
Что такое ограничение внешнего ключа? -
Что такое связывание? -
Для чего предназначены правила? В чем разница между правилами и ограничениями на значение столбцов? -
В чем разница между значением по умолчанию и установкой по умолчанию? -
Что такое ниладические функции? Для чего они используются? Привидите пример. -
Каков размер страницы в SQL Server? -
Какие типы страниц поддерживает SQL Server ? -
Для чего предназначены страницы GAM в файлах баз данных SQL Server? Какова их структура? -
Что такое представление? -
Что такое триггер? -
Что такое ограничения целостности? Какие ограничения целостности поддерживает PostgreSQL? -
Для чего предназначена и в чем суть технологии MVCC? -
Что такое WAL? -
Что представляет собой технология TOAST? В чем особенности ее реализации -
Какова структура страниц файла данных PostgreSQL? -
В чем заключается концепция табличных пространств, используемая в PostgreSQL? -
Что такое схемы в PostgreSQL? Для чего они предназначены?