Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву
Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
ERD предметної області, що автоматизуєтьсяСодержание книги
Поиск на нашем сайте
Змістовний опис обмежень цілісності
Для всіх зв'язків встановлено каскадне видалення (після видалення сутності повинні видаляти всі пов'язані з ним об'єкти). Логічний проект бази даних Опис таблиць бази даних з обмеженнями цілісності CREATE TABLE aircrafttype ( Name VARCHAR(50) CONSTRAINT c1 PRIMARY KEY, PlaceCount INTEGER CONSTRAINT c2 NOT NULL, CarCapacity INTEGER CONSTRAINT c3 NOT NULL );
CREATE TABLE aricompany ( Name VARCHAR(100) CONSTRAINT c4 PRIMARY KEY );
CREATE TABLE reg_organ ( Name VARCHAR(100) CONSTRAINT c5 PRIMARY KEY );
CREATE TABLE registration ( ID INTEGER CONSTRAINT c6 PRIMARY KEY, RegDate DATE CONSTRAINT c7 NOT NULL, Place VARCHAR(50) CONSTRAINT c8 NOT NULL Owner VARCHAR(70) CONSTRAINT c19 NOT NULL Ag_sign VARCHAR(10) CONSTRAINT c9 CHECK (Ag_sign in (‘Yes’, ‘No’)), OrganName VARCHAR(100) CONSTRAINT c10 REFERENCES reg_organ(Name) ON DELETE CASCADE );
CREATE TABLE aircraft ( Hull_No INTEGER CONSTRAINT c11 PRIMARY KEY ac_type VARCHAR(50) CONSTRAINT c12 REFERENCES aircrafttype (Name) ON DELETE CASCADE compnyname VARCHAR(100) CONSTRAINT c13 REFERENCES aircompany(Name) ON DELETE CASCADE RegID INTEGER CONSTRAINT c14 REFERENCES registration (ID) ON DELETE CASCADE );
CREATE TABLE service (//служба Name VARCHAR(50) CONSTRAINT c15 PRIMARY KEY );
CREATE TABLE serv (//обслуживание srvDate DATE CONSTRAING c16 PRIMARY KEY result VARCHAR(20) CONSTRAINT NOT NULL servName VARCHAR(50) CONSTRAINT c17 REFERENCES service(Name) ON DELETE CASCADE Hull_No INTEGER CONSTRAINT c18 REFERENCES aircraft(Hull_No) ON DELETE CASCADE ); Опис запитів по вибору даних, що реалізують описані задачі 1. Видати список всіх зареєстрованих повітряних суден (бортовий номер, власник, реєструючий орган)
SELECT aircraft.Null_No, registration.Owner, reg_organ.Name FROM aircraft, registration, reg_organ WHERE aircraft. RegID = registration.ID and registration.OrganName = reg_organ.name;
2. Видати всі результати обслуговування повітряного судна (бортовий номер, результати) за період з 1.01.2011 по 1.01.2012 SELECT aircraft.hull_No, serv.result FROM serv, service, aircraft, registration, reg_organ WHERE aircraft. RegID = registration.ID and registration.OrganName = reg_organ.name and service.Name = serv.servName and serv.Null_No=aircraft.Null_No and serv.srvDate BETWEEN TO_DATE(‘1.01.2011’, ‘DD.MM.YYYY) AND TO_DATE(‘1.01.2012’,’DD.MM.YYYY’);
3. Видати перелік авіакомпаній, судна яких зареєстровані
SELECT aircompany.Name FROM aircompany, aircraft, registration, reg_organ WHERE aircraft. RegID = registration.ID and registration.OrganName = reg_organ.name and aircraft.companyname = aircompany.Name
4. Видати список зареєстрованих повітряних суден (бортові номери, назви типів) з кількістю місць менше 250
SELECT aircraft.Hull_NO, aircrafttype.Name FROM aircrafttype, aircraft, registration, reg_organ WHERE aircraft. RegID = registration.ID and registration.OrganName = reg_organ.name and aircrafttype.Name = aircraft.ac_type and aircrafttype.placecount<250;
5. Вивести список служб, які обслуговували певний рейс SELECT serv.ServName FROM serv, aircraft, WHERE serv.Hull_No=aircraft.Hull_No and Aircraft.id=148;
6. Видати повітряні судна заданої авіакомпанії (бортові номери), що пройшли повторну реєстрацію
SELECT aircraft.Hull_NO FROM aircompany, aircraft, registration, reg_organ WHERE aircraft. RegID = registration.ID and registration.OrganName = reg_organ.name and aircraft.companyname = ‘Авиакомпания#1’;
7. Видати кількість літаків певного типу, що належать заданій авіакомпанії
SELECT COUNT(*) FROM aircraft, registration, reg_organ WHERE aircraft. RegID = registration.ID and registration.OrganName = reg_organ.name and aircraft.tp_Name=’АН-140’ and aircraft.companyname=’Авиакомпания#2’;
8. Вибрати ті судна (бортові номери) АН-140, які не проходили обслуговування в періодс 1.01.2011 до 01.01.2012
SELECT aircraft.hull_No FROM aircraft, aircrafttype WHERE aircraft.ac_type = aircrafttype.Name AND aircraft.ac_type=’АН-140’ AND aircraft.Hull_No NOT IN ( SELECT aircraft.Hull_No FROM aircraft, serv WHERE serv.Hull_No = aircraft.hull_No AND serv.srvDate not BETWEEN TO_DATE(‘1.01.2011’, ‘DD.MM.YYYY) AND TO_DATE(‘1.01.2012’,’DD.MM.YYYY’); );
Висновки Проектування баз даних — це складний, багатокроковий процес перетворення інформаційного середовища ПО у інформаційну модель у вигляді бази даних. Цей процес складається з різних етапів, а саме: розробка стратегії автоматизації, аналіз ПО, побудова концептуальної моделі ПО, логічне та фізичне проектування БД. На сучасному етапі розвитку інформатики проектування баз даних перетворилося на цілком сформовану наукову дисципліну, яка має у своєму складі формально-теоретичну та технологічну складові. Теоретичної основою проектування баз даних є теорія нормалізації, яка дозволяє чітко і строго відповісти на таке запитання: як слід проводити перетворення початкової схеми ПО таким чином, щоб результуюча схема бази даних була еквівалентна початковій і була краща за неї. Методологія проектування детально описує усі етапи життєвого циклу створення бази даних з використанням сучасних мов опису ПО. Ціллю даної курсової роботи було створення бази даних реєстрації повітряних суден України. Для виконання роботи були проведені всі необхідні дослідження щодо розробки стратегії автоматизації; окрім того, було досліджено предметну область, для якої розроблювалась база даних. Після цього був проведений аналіз ПО в результаті якого був отриманий змістовний опис ПО. Для аналізу ПО використовувалися наявні документи, а саме: журнали реєстрацій суден; правила та загальні пункти реєстрації. Після цього була побудована концептуальна модель. Для цього була використана мова ER-опису ПО, яка базується на концепції, що інформаційна модель будь-якої ПО може бути описана із застосування таких понять, Як сутність, атрибут, зв’язок. Крім того, ця мова є суттєво графічною, що дає можливість наочно представляти концептуальну модель ПО. При побудові концептуальної моделі неявно використовувалися результати теорії нормалізації, у зв’язку з цим побудована модель представлена у третій нормальній формі. Необхідності використання більш високих нормальних форм не було, так як у предметній області не були виявлені складні види транзитивних функціональних залежностей, а також багатозначні залежності. Логічне та фізичне проектування БД складалося з конвертації концептуальної моделі ПО у реляційну модель даних. При цьому був використаний алгоритм конвертування схеми ПО у мові ER в схему реляційної бази даних. Після цього реляційна база даних була представлена у вигляді команд створення таблиць бази даних у мові SQL ORACLE. Крім того, у мові SQL описані деякі інформаційно-пошукові запити. Виконана курсова робота надала мені можливості ознайомитися з технологією проектування баз даних, та отримати практичний досвід у проектуванні бази даних з конкретної предметної області.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Последнее изменение этой страницы: 2016-08-01; просмотров: 350; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.217.21 (0.006 с.) |