Тема: Створення реляційної бази даних

  • Вид работы:
    Курсовая работа (т)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Украинский
  • Формат файла:
    MS Word
  • Размер файла:
    446,66 Кб
Створення реляційної бази даних
Створення реляційної бази даних
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Вступ

Для початку нам необхідно розібратися, що таке «база даних» та для чого вона потрібна. У загальному розумінні, база даних - це сукупність відомостей про конкретні обєкти реального світу в будь-якій предметній області, чи розділі предметної області. Кожна база даних - це сукупність таблиць, запросів, форм, звітів, макросів та модулей, яка зберігається в якомусь конкретному файлі з довільним імям. Необхідно також знати, що база даних - це сукупність даних, які організовані чітко згідно конкретним правилам, які передбачають загальні принципи опису, зберігання та маніпулювання даними.

Також необхідно відповісти на питання «для чого потрібна база даних?», адже якщо не знати навіщо ми це робимо - то й робити непотрібно..

Вважають, що використання концепції бази даних дозволяє:

.Збільшити надійність цілісності та збереження даних;

.Зберегти витрати інтелектуальної роботи;

.Забезпечити легкість та простоту використання даних;

.Забезпечити незалежність прикладних програм від даних (зміни їх описів та засобів

зберігання);

.Забезпечити достовірність даних;

.Забезпечити необхідну швидкість доступу до даних;

.Стандартизувати дані у межах однієї предметної області;

.Автоматизувати реорганізацію даних;

.Забезпечити захист від ушкодження та знищення даних;

.Скоротити дублювання інформації за рахунок структуювання даних;

.Забезпечити обробку незапланованих запросів до зберігаємої інформації.

1. Теоретична частина

.1 Опис предметної області

Фабрика отримує запит на виготовлення автомобілів від клієнтів. Запити розглядаються адміністрацією фабрики, використовуючи інформацію про запчастини для авто. та самі автомобілі(марка авто.). Перевіряються і обновляються списки про кількість запчастин для авто. на фабриці. Адміністрація перевіряє, щоб кількість запчастин відповідала необхідній кількості для виконання замовлення і збірки автомобіля(вибраної марки). Робота фабрики відбувається наступним чином: клієнт робить замовлення на виготовлення автомобіля(деякої марки), адміністрація фабрики перевіряє свої списки і видає клієнту інформацію про можливість виконання замовлення. На фабриці зберігається інформація про запчастини: назва,країна виробник,рівень якості, тип, період експлуатації ,ціна;про автомобілі(різних марок):,малюнок, колір, гама, технічні характеристики, ціна. Фабрика отримує від постачальників необхідні запчастини і при отриманні обновляє списки доступних запчастин.

.2 Опис середовища розробки курсової роботи

OraDeveloper Studio спрощує роботу з Oracle, автоматизує рутинні завдання з розробки і полегшує управління великими проектами. OraDeveloper Studio - окремий додаток, призначений для професійних розробників PL/SQL і користувачів Oracle, які шукають більш гнучке середовище розробки баз даних. Основні переваги OraDeveloper Studio:

Зручна навігація по базі даних

Обєкти на сервері представлені в спеціальному вікні Провідника в ієрархічному виді, зручні для роботи.

Будь-який обєкт бази даних можна знайти, проаналізувавши і змінивши за декілька секунд.

Провідник відображає залежності між обєктами БД і зберігає історію навігації, яка дозволяє легко повернутися до відвідуваних обєктам і папкам.

Властивості будь-якого обєкта БД можна побачити за один щиглик.

Можна швидко отримати дані з таблиць або уявлень, вибравши їх в Провіднику.

OraDeveloper Studio також дозволяє шукати обєкти БД будь-якого типу на сервері за його імям.

PL/SQL обєкти можна шукати за фрагментом коду. Можна також шукати дані в таблицях, і матеріалізованих уявленнях.

Полегшене створення та зміна обєктів БД.

З OraDeveloper Studio не потребує багато часу на зміну структури БД. OraDeveloper Studio автоматизує всі часто використовувані операції.

Для забезпечення дружнього користувацького інтерфейсу при роботі з обєктами БД створені спеціалізовані візуальні редактори обєктів.Studio дозволяє проглядати всі обєкти БД як вирази DDL, створювати і редагувати DDL-скрипти для багатьох обєктів БД.

Можна легко створювати копії обєктів БД.

Налагодження PL/SQL обєктів и SQL скриптів.

Вбудований наладчик дозволяє налагоджувати всі види PL/SQL обєктів і SQL скриптів. Studio дозволяє встановлювати крапки зупинки на будь-якому рядку коду.

В вікні Стек Викликів можна продивлятися поточний стек PL/SQL програм. Можна також продивлятися і модифікувати змінні в вікні Змінні.

Прямий доступ до сервераStudio може працювати з сервером Oracle навіть без встановленого Oracle Client Software.

2. Практична частина

Модель реальної системи визначається як ієрархія діаграм DFD, які описують асинхронний процес перетворення інформації від її входу в систему до видачі користувачам. Діаграми верхніх рівнів ієрархії (контекстні діаграми) виділяють основні процеси або підсистеми з зовнішніми виходами і входами. Вони деталізуються до тих пір,доки не буде досягнутий такий рівень декомпонізації,на якому процес стає елементарним і надалі його деталізувати неможливо.

Особливістю складної системи є велика кількість сутностей(більше 10),розподілена природа системи.

2.1 Концептуальна модель

Рис. 1- DFD діаграма 0-го рівня

2.2 Складання таблиці ELM

Список подій (ELM) - матриця, яка описує дії зовнішніх сутностей і реакцію системи на них.

Таблиця 1. ELM - матриця

П/нОпис подіїТипРеакція системи1Клієнт звертається на фабрикуNDРеєстрація клієнта2Зміна даних клієнтаNDРеєстрація нових даних для клієнта3Надходження нових запчастин від постачальникаNDДодавання даних про запчастини4Подача замовлення постачальнику на нові запчастиниNDФормування списку потрібних запчастин, відправка постачальнику5Керівництво запитує звітNDФормування звіту,відправка керівництву6Поява нового постачальникаNDРеєстрація постачальника7Зміна даних постачальникаNDРеєстрація нових даних

Реакція системи - вихідний потік. Один абстрактний потік може бути розділений на декілька конкретних потоків.

Таблиця 2. Потоки подій на DFD 0-го рівня

Абстрактний потікКонкретний потікІнформація від клієнтаРеєстраційні дані Запит о запчастинах і їх вартості Замовлення запчастинІнформація для клієнтаВідповідь на запит про запчастини і їх вартістьІнформація від постачальникаРеєстраційні дані Дані по запиту на постачання запчастинІнформація для постачальникаЗапит на постачання запчастинІнформація від керівництваЗапити звітів про клієнтів, постачальників, автомобілів(різних марок) і запчастинІнформація для керівництваЗвіти про клієнтів ,постачальників ,автомобілів(різних марок) і запчастин для них2.3 Побудова DFD- діаграми 1-го рівня

Рис.2 DFD- діаграма 1-го рівня

3. ERD - Діаграма

Реляційна БД має як структурну, так і семантичну інформацію. Структура БД визначається числом і видом включених у неї відношень, і звязками типу «один до багатьох», існуючими між кортежами цих відношень.

.1 Побудова ERD

Якщо клієнт подає замовлення на фабрику, то може замовити не тільки одне авто ,а декілька одночасно,різні клієнти можуть замовляти точно те ж саме авто, тому зв'язок між сутностями Клієнт і Автомобіль має ступінь N:N. Таке відношення реалізувати не можливо, тому проводиться нормалізація. Додаємо нову сутність - замовлення автомобіля.


Один клієнт може робити декілька замовлень, тому зв'язок між сутностями Клієнт і Запчастини буде 1: N.

В одне замовлення може бути включено декілька автомобілів, тому зв'язок між сутностями Замовлення автомобілів і Автомобіль буде 1: N.


Оскільки при збірці автомобіля деякі запчастини можуть підходити не тільки для одного, а для декількох типів автомобілів одночасно, і одні і ті ж самі запчастини можуть входити у різні автомобілі, тому зв'язок між сутностями Автомобіль і Запчастини має ступінь N:N. Таке відношення реалізувати не можливо, тому проводиться нормалізація. Додаємо нову сутність - склад Автомобіля(тобто враховуємо усі запчастини які взяті з інших марок автомобіля).

Один автомобіль може складатися з декількох видів запчастин, тому зв'язок між сутностями Склад автомобіля і Автомобіль буде 1:N.

Одна запчастина може входити до різних складів автомобіля, тому зв'язок між сутностями Склад автомобіля і Запчастина буде 1:N.

Один постачальник може поставляти декілька видів запчастин, і один і той самий вид запчастин може постачатися різними постачальниками, тому зв'язок між сутностями N:N. Таке відношення реалізувати не можливо, тому проводиться нормалізація. Додаємо нову сутність - замовлення запчастин.

Декілька різних постачальників можуть постачати запчастини для одного замовлення, тому зв'язок між сутностями Замовленням запчастин і Постачальниками 1:N. база дані таблиця реляційний

Одне замовлення може складатися з декількох видів запчастин, тому зв'язок між сутностями Замовлення запчастин і Запчастина 1:N.

Рис.3 ERD - діаграма

3.2 Переробка ERD в реляційне відношення

Клієнт(#ID клієнта, Назва, Адреса, Телефон, Факс, E-mail, Кількість звернень, Розрахунковий рахунок);

Автомобіль(#ID автомобіля, #ID складу, Назва,Марка, Технічні характеристики, Колір, Гама, Розмір, Ціна);

Запчастини(#ID запчастини, Назва, Країна виробник, Рівень якості,Період експлуатації, Тип, Ціна);

Замовлення Автомобіля(#ID клієнта, #ID автомобіля, Назва, Марка, Кількість , Дата замовлення, Дата кінця замовлення);

Склад Автомобіля(#ID Автосалону, #ID запчастин);

Замовлення запчастин(#ID замовлення, #ID постачальника, #ID запчастини, Назва, Кількість);

4. Практична частина

.1 Створення таблиць баз даних

Створюємо необхідні для бази даних таблиці:

Створюємо таблицю Клієнт:

Create table A_Avto_Klients

(ID_Клієнта NUMBER(4),

Назва Varchar2(20),

Адреса Varchar2(20),

Телефон NUMBER(8),

Факс NUMBER(15),Varchar2(20),

Кількість_звернень NUMBER(4),

Розрахунковий_рахунок VARCHAR2(20));

Створюємо таблицю Постачальник:

Create table A_Avto_Postavshik

(_ID_постачальника number(2),_Назва varchar2(20),_Адреса varchar2(20),_Телефон number(8),_Факс Number (8),_Mail varchar2(20),_Дата_реєстрації DATE,_Розрахунковий_рахунок varchar2(20)

);

Створюємо таблицю Автомобіль:

Create table Avto

(K_ID_автомобіля Number(2),_ID_автосалону Number(2),_Назва Varchar2(20),_Малюнок Varchar2(20),_Колір Varchar2(20),_Гама Varchar2(20),_Технічні_характеристики Varchar2(20),_Ціна Number(5)

);

Створюємо таблицю Запчастини:

Create table A_Avto_Zapchasti

(_ID_запчастини Number(2),_Назва varchar2(20),_Країна_виробник varchar2(20),_Рівень_якості Number(2),_Тип varchar2(20),_Період_експлуатації varchar2(20) ,_Ціна Number(5),

N_В яких_марках_використовується varchar2(30)

);

Створюємо таблицю Замовлення автомобіля:

Create table A_Avto_Zakaz_avto

(Z_ID_замовлення number(2),_ID_клієнта number(2),_ID_автомобіля number(2),_Назва Varchar2(20),_Кількість number(5),_Дата_замовлення DATE,_Дата_кінця_замовлення DATE

);

Створюємо таблицю Склад автомобіля:

Create tableA_Avto_Sostav_avto

(S_ID_складу number(2),_ID_запчастини number(2),

Кількість number(4));

Створюємо таблицю Замовлення запчастини:

Create table A_Avto_Zamovlenua_zapchastey

(_ID_замовлення number(2),_ID_постачальника number(2) ,_ID_запчастини number(2),_Назва varchar2(20),_Кількість number(10)

);

4.2 Створення ключових полів таблиць БД

У чотирьох таблицях необхідно задати ключові поля:

Для таблиці Автомобіль - це поле K_ID_АВТОМОБІЛЯ:

ALTER TABLE Avto

ADD (CONSTRAINT Avto_pkey PRIMARY KEY(K_ID_АВТОМОБІЛЯ));

Для таблиці Запчастина - це поле N_ID_ЗАПЧАСТИНИ:

ALTER TABLE A_Avto_Zapchasti

ADD (CONSTRAINT A_Avto_Zapchasti_pkey PRIMARY KEY(N_ID_ЗАПЧАСТИНИ));

Для таблиці Постачальник - це поле P_ID_ПОСТАЧАЛЬНИКА:

ALTER TABLE A_Avto_postavshik(CONSTRAINT A_Avto_postavshik_pkey PRIMARY KEY(P_ID_ПОСТАЧ));

Для таблиці Клієнт - це поле ID_КЛІЄНТА:

ALTER TABLE A_Avto_KLIENTS(CONSTRAINT A_Avto_KLIENTS_pkey PRIMARY KEY(ID_КЛІЄНТА));

4.3 Заповнення таблиць баз даних

Заповнюємо таблицю Клієнти:

INSERT INTO A_Avto_KLIENTS

(ID_КЛІЄНТА,НАЗВА,АДРЕСА,ТЕЛЕФОН,ФАКС,MAIL,КІЛ_ЗВЕР,РОЗРАХ_РАХУНОК)

(8,'Пул В.С.', 'Тітова 12',7445632,87657665,'Avto@mail.ru',4,'as13565456h');

Вигляд заповненої таблиці:


Заповнюємо таблицю Автомобіль:

INSERT INTO AVTO

(K_ID_АВТОМОБІЛЯ,K_ID_АВТОСАЛОНУ,K_НАЗВА,K_МАЛЮНОК,K_КОЛІР,K_ГАМА,K_ТЕХНІЧНІ_ХАР,K_ЦІНА)(1,1,'ВаЗ','нет','Синій','Синьовата','70hp',100);

Вигляд заповненої таблиці:


Заповнюємо таблицю Запчастини:

INSERT INTO A_Avto_ZAPCHASTI

(N_ID_ЗАПЧАСТИНИ,N_НАЗВА,N_КРАЇНА_ВИР,N_РІВЕНЬ_ЯКОСТІ,N_ТИП,N_ПЕРІОД_ЕКСП, N_ЦІНА)(4,'Тормоза','Китай',10,'Дискові','4 роки',200);

Вигляд заповненої таблиці:


Заповнюємо таблицю Постачальник:

INSERT INTO A_Avto_POSTAVSHIK

(P_ID_ПОСТАЧ,P_НАЗВА,P_АДРЕСА,P_ТЕЛЕФОН,P_ФАКС,P_MAIL,P_ДАТА_РЕЄСТР,P_РОЗ_РАХ)

(17,'Сурич В.В.','Кірова 10',674581,57587687,'Su@mail.ru','12/10/07','re172467868131u');

Вигляд заповненої таблиці:


Заповнюємо таблицю Склад автомобілів:

INSERT INTO A_Avto_SOSTAV_AVTO

(S_ID_СКЛАДУ,S_ID_ЗАПЧАСТИНИ, КІЛЬКІСТЬ)(1,1,3);

Вигляд заповненої таблиці:


Заповнюємо таблицю Замовлення автомобіля:

INSERT INTO A_Avto_ZAKAZ_AVTO

(Z_ID_ЗАМОВЛЕННЯ,Z_ID_КЛІЄНТА,Z_ID_АВТОМОБІЛЯ,Z_НАЗВА, Z_КІЛЬКІСТЬ,Z_ДАТА_ЗАМ,Z_ДАТА_КІН_ЗАМ)(12,1,1,'Рудь Б.В.',1,'3/10/08','10/11/08');

Вигляд заповненої таблиці:


Заповнюємо таблицю Замовлення запчастини:

INSERT INTO A_Avto_ZAMOVLENUA_ZAPCHASTEY

(AD_ID_замовл, AD_ID_постач, AD_ID_запча, AD_Назва,AD_Кількість)(1,12,20,'Двигун',5);

Вигляд заповненої таблиці:


4.4 Створення запитів

1.Вивести всі активні замовлення за період починаючи з(наприклад '7/11/08'):distinct Z_ID_ЗАМОВЛЕННЯ from A_Avto_Zakaz_Avto where (Z_ДАТА_КІН_ЗАМ >'7/11/08')

Приклад роботи:


.Вивести всі виконані закази за даний період:distinct Z_ID_ЗАМОВЛЕННЯ from A_Avto_Zakaz_Avto where (Z_ДАТА_КІН_ЗАМ >'7/11/08')('18/11/08'>Z_ДАТА_КІН_ЗАМ)

Приклад роботи:

3. Вивести усіх клієнтів, які зверталися на фабрику більше 4-х разів:ID_КЛІЄНТА,НАЗВА,АДРЕСА from KLIENTS where КІЛ_ЗВЕР>=4

Приклад роботи:

Висновок

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

Для розробки свого курсового проекту я обрала середовище OraDeveloper Studio. Бо, як на мене, вона має досить вагомі переваги перед іншими середовищами розробками бази даних, а саме: легка маніпуляція даними (що буває дуже корисним при великих обсягах даних), можливість масштабованості бази даних (дуже корисна можливість - замість створення нової бази даних, можна розширити вже існуючу, що буде гарантувати збереження старих даних та економію часу), велика продуктивність , зручна навігація, швидкий доступ до даних таблиць - все це набагато спрощує роботу з базою даних. А також зявилася можливість користуватися OraDeveloper Studio з сервером Oracle без встановленого Oracle Client Software.

Список використаної літератури:

1.Курс лабораторных работ по РСУБД Oracle.

2.К.Бегг «Основи баз даних».

.Грофф «Енциклопедія SQL».

4.http://www.oracle.com/global/ru/pdfs/tech/techguide_rdb.pdf

5.http://www.sdteam.com/?tid=1858

.«За рулем» 2005г,

.www.oracle.com/technology/smb

Похожие работы

 

Не нашел материал для курсовой или диплома?
Поможем написать качественную работу
Без плагиата!