Партнерка на США и Канаду по недвижимости, выплаты в крипто
- 30% recurring commission
- Выплаты в USDT
- Вывод каждую неделю
- Комиссия до 5 лет за каждого referral
Правительство Санкт-Петербурга
Комитет по образованию
Государственное образовательное учреждение
среднего профессионального образования
Санкт-Петербургский колледж управления и экономики
«Александровский лицей»
,
БАЗЫ ДАННЫХ
Санкт-Петербург
2011
Оглавление
Практическая работа № 1. ПОСТРОЕНИЕ ИНФОРМАЦИОННОЙ МОДЕЛИ.. 4
Практическая работа № 2. ПРОЕКТИРОВАНИЕ ТАБЛИЦ.. 10
Практическая работа № 3. РАЗРАБОТКА ЗАПРОСОВ.. 14
Практическая работа № 4. РАЗРАБОТКА ФОРМ... 23
Практическая работа № 5 ОБРАБОТКА ДАННЫХ С ПОМОЩЬЮ ОТЧЕТОВ.. 28
ЛИТЕРАТУРА.. 33
Предметная область: оформление туристической поездки через туристическую фирму
Практическая работа № 1.
ПОСТРОЕНИЕ ИНФОРМАЦИОННОЙ МОДЕЛИ
Цель работы: научиться анализировать предметную область в аспекте построения информационной модели.
Описание, постановка задачи
Основные положения: туристическая фирма занимается организацией групповых туров и оформлением туристических путевок. Процесс продажи туристической путевки происходит следующим образом: покупатель производит заказ на покупку путевки, пользуясь предоставленным каталогом туров. Менеджер фирмы выписывает счет, который должен оплатить покупатель.
Построение информационной модели
Исходя из поставленной задачи, выделим следующие объекты:
· тур,
· клиент,
· продавец,
· заказ,
· счет.
Определим для включения в модель объектов взаимосвязи:


Рис.1.1. Информационная модель
Для каждого объекта определим свойства, которые будем хранить в базе данных:
Таблица 1.1
Свойства объектов
Объект | Свойство |
Тур | Название тура Название страны Название города Название отеля Количество дней Дети Перелет Стоимость Название экскурсии Экскурсия Дата начала Описание тура |
Клиент | Фамилия Имя Город Адрес Телефон Скидка |
Заказ | Номер заказа Дата заказа Фамилия клиента Имя клиента Название отеля Название тура Стоимость перелета Общая стоимость |
Счет | Номер счета ФИО клиента Название тура Дата выписки Сумма Оплата Дата оплаты |
Продавец | Фамилия Имя Адрес телефон |
Приведение модели к требуемому уровню нормальной формы
Приведение модели к требуемому уровню нормальной формы является основой построения реляционной БД. Введение нормализации отношений при разработке информационной модели обеспечивает минимальный объем физической БД и ее максимальное быстродействие. Нормализация информационной модели выполняется за несколько шагов.
Шаг 1. Образование двумерной таблицы, содержащей все необходимые атрибуты информационной модели и выделение ключевых атрибутов. Данные, представленные в виде таблицы, являются первой нормальной формой реляционной модели данных.
Полученная таблица будет большой по объему и содержащей очень разнородную информацию.
Шаг 2. Если все возможные ключи отношения содержат по одному атрибуту, то это отношение задано во второй нормальной форме. Приведение отношений ко второй нормальной форме заключается в обеспечении полной функциональной зависимости всех атрибутов от ключа за счет разбиения таблицы на несколько, в которых все имеющиеся атрибуты будут иметь полную функциональную зависимость от ключа этой таблицы.
В процессе приведения модели ко второй нормальной форме в основном исключаются аномалии дублирования данных.
Шаг 3. Преобразование в третью нормальную форму происходит за счет разделения исходного отношения на два. Например, если все данные о турах хранятся в одном отношении, то для нескольких туров в одну и ту же страну пришлось бы многократно указывать название страны, названия городов, названия отелей. Дублирование исчезнет, если из одного отношения выделить отношения, в которых будут храниться данные о странах, городах, отелях.
Основные правила, которым рекомендуется следовать при проектировании БД:
· исключить повторяющиеся группы – для каждого набора связанных атрибутов создать отдельную таблицу и снабдить первичным ключом. Выполнение этого правила автоматически приведет ко второй нормальной форме;
· исключить избыточные данные – если атрибут зависит только от части составного ключа, необходимо переместить атрибут в отдельную таблицу. Это правило помогает избежать потери одних данных при удалении каких-либо других;
· исключить столбцы, которые не зависят от ключа – если атрибуты не участвуют в описании ключа, их необходимо переместить в отдельную таблицу.
Изменения в модели связаны в основном с введением искусственных атрибутов - кодов, необходимость в которых определяется процессом нормализации.
В общем случае рекомендуется использовать коды вместо естественных атрибутов в следующих случаях:
· в предметной области естественный атрибут отношения не обладает свойством уникальности;
· если отношение участвует во многих связях, то для их отображения создается много таблиц, в каждой из которых повторяется идентификатор отношения, который удобнее представить более коротким кодом;
· если естественный атрибут может изменяться во времени (например, фамилия), это может вызвать трудности при эксплуатации системы, а использование неизменяемого кода (например, табельного номера) позволит избежать этих трудностей.
С учетом вышеизложенных правил в базе выделены дополнительные объекты СТРАНЫ, ГОРОДА, ОТЕЛИ, ЭКСКУРСИИ.
Описание логической модели
На этом этапе составляются проекты таблиц.
Таблица 1.2
Проект таблицы
№ п/п | Имя | Описание поля | Тип | Свойства |
Таблица ТУР | ||||
1. | Код_тура | Код тура | текстовый | Размер 10; обязательное; индексированное, совпадения не допускаются |
2. | Наименование | Наименование тура | текстовый | р.30 |
3. | Код_стр | Код страны | текстовый | р.5; индексированное, совпадения допускаются; подстановка: поле со списком; таблица или запрос: Страна; 1, 2; ширина списка 5; ограничиться списком – нет |
4 | Код_гор | Код города | текстовый | р.5; индексированное, совпадения допускаются; подстановка: поле со списком; таблица или запрос: Город; 1: 2; ширина списка 5; ограничиться списком – нет |
5. | Кол_дн | Количество дней | числовой | Байт, условие на значение: >=3 And <=21, сообщение об ошибке: «поездка минимум на 3 дня и максимум на 21» |
6. | Дети | Отдых с детьми | логический | Да/нет |
7. | Перелет | Перелет входит в стоимость | логический | Да/нет |
8. | Экс | Экскурсии предусмотрены | логический | Да/нет |
9. | Код_экс | Код экскурсии | текстовый | р.5, индексированное, совпадения допускаются; подстановка; поле со списком; таблица или запрос; ЭКСКУРСИЯ; 1; 2; ограничиться списком – нет |
10. | Стоимость | Стоимость тура в руб. | денежный | Денежный |
11. | Д_нач | Дата начала тура | Дата/время | Краткий формат даты |
12. | Оп_тура | Описание тура | Поле MEMO | |
Таблица КЛИЕНТ | ||||
1. | Код_кл | Код клиента | текстовый | р.5, индексированное, совпадения не допускаются, обязательное |
2. | Фам | Фамилия | текстовый | р.30 |
3. | Имя | Имя | текстовый | р.20 |
4. | Адрес | Адрес | текстовый | р.30 |
5. | Тел | телефон | текстовый | р.15, маска ввода (###\)###-##-## |
6. | Город | Город проживания | текстовый | р.20 |
7. | Скида | Скидка в стоимости | числовой | Одинарное с плавающей точкой, процентный |
Таблица СТРАНА | ||||
1. | Код_стр | Код страны | текстовый | р.5, индексированное, совпадения не допускаются, обязательное |
2. | Наименование | Наименование страны | текстовый | р.30 |
Таблица ОТЕЛЬ | ||||
1. | Код от | Код отеля | текстовый | р.5, индексированное, совпадения не допускаются, обязательное |
2. | Код_гор | Код города | текстовый | р.5, индексированное, совпадения допускаются; подстановка: поле со списком; таблица или запрос; ГОРОД; 1; 2; ширина списка 5; ограничиться списком - нет |
3. | Название | Название отеля | текстовый | р.30 |
4. | Услуги | Обслуживание в отеле | логический | Да/нет |
5. | Кат | Категория отеля | текстовый | р.7; подстановка: поле со списком; список значений; ***,****,*****,1,1 |
6. | Ст_сут | Проживание в сутки | денежный | денежный |
7. | Опис_усл | Описание услуг | поле MEMO | |
8. | ФОТО | Фотография отеля | поле OLE | изображение |
Таблица ЭКСКУРСИЯ | ||||
1. | Код_экс | Код экскурсии | текстовый | р.7; индексированное, совпадения не допускаются, обязательное |
2. | Ст_экс | Стоимость | денежный | денежный |
3. | Опис_экс | Описание экскурсии | Поле MEMO | |
Таблица СЧЕТ | ||||
1. | №_сч | Счет | текстовый | р.10, индексированное, совпадения не допускаются, обязательное |
2. | Код_кл | Код клиента | текстовый | р. 5; индексированное, совпадения допускаются; подстановка: поле со списком; таблица или запрос; Клиент; 1; 2; ширина списка 5; ограничиться списком - нет |
3 | Код_тура | Код тура | текстовый | р.7; индексированное, совпадения допускаются; подстановка: поле со списком; таблица или запрос; ТУР; 1; 2; ширина списка 5; ограничиться списком - нет |
4. | Дата_вып | Дата выписки счета | дата/время | Краткий формат |
5. | Оплата | Пометка об оплате | логический | Да/нет |
6. | Сумм_опл | Сумма оплаты, руб. | денежный | С разделителями разрядов, авто, значение по умолчанию 0 |
7. | Дата_опл | Дата оплаты счета | дата/время | Краткий формат |
Таблица ЗАКАЗ | ||||
1. | Код_зак | Код заказа | текстовый | р.5, индексированное, совпадения не допускаются, обязательное |
2. | Код_кл | Код клиента | текстовый | р.7; индексированное, совпадения допускаются; подстановка: поле со списком; таблица или запрос; КЛИЕНТ; 1; 2; ширина списка 5; ограничиться списком - нет |
3. | Код_тура | Код тура | текстовый | р.7; индексированное, совпадения допускаются; подстановка: поле со списком; таблица или запрос; ТУР; 1; 2; ширина списка 5; ограничиться списком - нет |
4. | Код_от | Код отеля | текстовый | р.7; индексированное, совпадения допускаются; подстановка: поле со списком; таблица или запрос; ОТЕЛЬ; 1; 2; ширина списка 5; ограничиться списком - нет |
5. | Код_прод | Таб. № продавца | текстовый | р.7; индексированное, совпадения допускаются; подстановка: поле со списком; таблица или запрос; ПРОДАВЕЦ; 1; 2; ширина списка 5; ограничиться списком - нет |
6. | Ст_пер | Стоимость перелета в оба конца | Денежный | Денежный |
7. | Д_зак | Дата заказа | Дата/время | Краткий формат |
8. | Общ_ст | Общая стоимость поездки | Денежный | денежный |
Таблица ГОРОД | ||||
1. | Код_гор | Код города | текстовый | р. 5, индексированное, совпадения не допускаются, обязательное |
2. | Название | Название города | текстовый | р.30 |
3. | Код_стр | Код страны | текстовый | р. 5, индексированное, совпадения допускаются; подстановка: поле со списком; таблица или запрос; СТРАНА; 1; 2; ширина списка 5; ограничиться списком - нет |
Таблица ПРОДАВЕЦ | ||||
1. | Код_пр | Таб. № продавца | текстовый | р. 5, индексированное, совпадения не допускаются, обязательное |
2. | Фамилия | Фамилия | текстовый | р.20 |
3. | Имя | Имя | текстовый | р.20 |
4. | Адрес | Адрес | текстовый | р. З0 |
5. | Телефон | Телефон | Текстовый | р.15 |
Практическая работа № 2.
Проектирование таблиц
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 |


