Розробка бази даних "Архітектурна компанія"
Використання баз даних та інформаційних систем у сучасному житті. Основні відомості про реляційні бази даних. Зв'язування відносин. Структурована мова запитів SQL. Сутність та загальний опис бази даних "Архітектурна компанія". Приклад створення таблиці.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | украинский |
Дата добавления | 19.06.2015 |
Размер файла | 320,7 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Вступ
інформаційний реляційний запит
Використання баз даних та інформаційних систем стає невід'ємною складовою ділової діяльності сучасної людини і функціонування процвітаючих організацій. У зв'язку з цим більшої актуальності набуває освоєння принципів побудови та ефективного застосування відповідних технологій і програмних продуктів: систем управління базами даних, CASE-систем автоматизації проектування, засобів адміністрування та захисту баз даних та інших. Від правильного вибору інструментальних засобів створення інформаційних систем, визначення відповідної моделі даних, обґрунтування раціональної схеми побудови бази даних, організації запитів до збережених даних і ряду інших моментів багато в чому залежить ефективність функціонування розроблювальних систем. Все це вимагає усвідомленого застосування теоретичних положень та інструментальних засобів розробки баз даних та інформаційних систем. В даний час великою популярністю користується мережу Інтернет. Однією з причин цього є можливість отримання в реальному масштабі часу різноманітної інформації, що охоплює всі сфери діяльності людини. Для ефективної роботи з інформацією такого величезного обсягу потрібна висока ступінь її упорядкування. Сучасні системи управління базами даних надають розвинені засоби для організованого доступу до інформації. Цілком логічно застосування технології систем управління базами даних в мережі Інтернет. [4;стр.3]
Розділ 1. Основні відомості про реляційні бази даних
Реляційна модель данихРеляційна модель даних була запропонована співробітником фірми IBM Едгаром Коддом, який виклав основні ідеї в статті «Реляційна модель для великих банків спільно використовуваних даних». Реляційна модель даних дозволила зняти недоліки мережевих і ієрархічних моделей, а наочність і сувора теоретична проробка принесли велику популярність моделі серед розробників баз даних.
1.1 Відносини і ключі
Опишемо основні поняття, що відносяться до реляційної моделі. Реляційна модель заснована на математичному понятті відносини, фізичним представленням якого є таблиця. Є різні інтерпретації реляційних термінів, основні з яких представлені на рис. 1.1. Залежно від контексту будемо використовувати один з цих підходів.
Рис 1.1 - Альтернативні варіанти термінів
Сутність - описує об'єкт, дані про якого зберігаються в базі даних. Дані про сутність зберігаються у відношенні. Атрибут - являє собою властивість, що описує сутність. У структурі відносини кожен атрибут має назву і тип. Кортеж - визначається як окрема сутність. Доменом - є набір всіх можливих значень певного атрибуту відносини. Схема відносини - являє собою список імен атрибутів. Реляційна модель передбачає організацію даних тільки у вигляді таблиць. Таблиця складається з рядків і стовпців (рис. 1.2).
Рис. 1.2 - приклад табличної організації даних
У реляційній моделі даних до відносин пред'являються певні вимоги, виражені в принципі інформаційної неподільності: кожне значення відносини реляційної моделі може містити тільки одну порцію даних; і принципі інформаційного кодування: неприпустимо, щоб у значенні відносини реляційної моделі містилося більше однієї порції даних. Зв'язки між кортежами реалізуються у вигляді ключів. Ключ - це певним чином позначений атрибут відносини. Ключ може бути складовим, тобто складатися з декількох атрибутів відносини. Ключі зазвичай використовують для виключення дублікатів, упорядкування кортежів, прискорення роботи з кортежами відносини, організації зв'язування відносин. Для того щоб його значення були пов'язані з атрибутом іншого ставлення, необхідно встановити між атрибутами віртуальний зв'язок за допомогою первинних і зовнішніх ключів. Первинний ключ - це ключ, значення якого однозначно ідентифікують кожен з його кортежів в заданому відношенні. Зовнішній ключ - це ключ, який відповідає первинному ключу іншого відношення. Коли атрибут, або набір атрибутів позначається як ключ, додатково створюється індекс. Індекс зберігає список значень ключа і покажчики на кортежі, що містять ці значення. Наявність індексу дозволяє системі управління базами даних швидко знаходити потрібні кортежі. В цілому індекси прискорюють виконання операцій читання, але сповільнюють виконання операцій записи, так як при цьому необхідно оновлювати індекс.
1.2 Зв'язування відносин
Зв'язування відносин визначає їх підпорядкованість. Існують три види зв'язування відносин: - один - до одного; - один - до багатьох; - багато - до багатьох. Розглянемо більш детально кожен з цих видів. Зв'язування відносин виду «один - до одного» зазвичай використовується при розбитті відносин з великим числом атрибутів на кілька частин. У цьому випадку в одному відношенні залишаються атрибути з найбільш важливою і часто використовуваною інформацією, а інші атрибути переносяться в інші відносини (одному кортежу одного відносини відповідає один кортеж іншого відношення). Зв'язування відносин виду «один - до багатьох» означає, що одному кортежу одного відношення може відповідати кілька кортежів іншого ставлення, в окремому випадку жодної. Такий вид зв'язування зустрічається найчастіше (використовується тоді, коли одному кортежу одного відносини відповідає кілька кортежів іншого ставлення і навпаки). Зв'язування відносин виду «багато - до багатьох» використовується тоді, коли одному кортежу одного відносини відповідає кілька кортежів іншого ставлення і навпаки. На практиці зв'язування відносин виду «багато - до багатьох» використовується досить рідко і для реалізації такого ставлення в реляційної моделі перетвориться в зв'язування декількох відносин виду «один - до багатьох». При зв'язуванні відносин необхідно дотримуватися двох фундаментальним правилами цілісності: первинний ключ не може бути порожнім, і зовнішній ключ може бути або порожнім, або дорівнює значенню первинного ключа, на який він посилається. Тільки в цьому випадку можна домогтися несуперечності представлення даних. [2;стр.32-35]Можна коротко сформулювати особливості реляційної бази даних: - дані зберігаються в таблицях, що складаються із стовпців і рядків; - На перетині кожного стовпця і рядка знаходиться тільки одне значення; - У кожного стовпця є своє ім'я, яке служить його назвою, і всі значення в одному стовпці мають один тип. Наприклад, у стовпці id_catalogs всі значення мають цілочисельний тип, а в рядку name - текстовий; - Стовпці розташовуються в певному порядку, який задається при створенні таблиці, на відміну від рядків, які розташовуються в довільному порядку. У таблиці може не бути жодного рядка, але обов'язково повинен бути хоча б один стовпець; - Запити до бази даних повертають результат у вигляді таблиць, які теж можуть виступати як об'єкт запитів. [3;стр.9]
Розділ 2. Структурована мова запитів SQL
2.1 Введення в SQL
MySQL - це система управління базами даних (СУБД) з відкритим кодом. Це високопродуктивна і масштабована СУБД з безліччю програмних інтерфейсів. Вона володіє величезними функціональними можливостями і підходить для вирішення найрізноманітніших завдань. [1;стр.6]Більшість СУБД використовують мову SQL (Structured Query Language - мова структурованих запитів), так як він зручний для опису логічних підмножин БД.Призначення SQL:-створення БД і таблиці з повним описом їх структури;- Виконання основних операцій маніпулювання даними (такі як вставка, модифікація і видалення даних з таблиць);- Виконання простих і складних запитів.Одна з ключових особливостей мови SQL полягає в тому, що з його допомогою формуються запити, що описують яку інформацію з бази даних необхідно отримати, а шляхи вирішення цього завдання програма визначає сама[6].Будучи стандартною мовою доступу до реляційної бази даних, SQL дуже впливає на всі сегменти комп'ютерного ринку. Компанія IBM прийняла SQL як уніфікує технології баз даних для лінії своїх продуктів. Усі постачальники міні-комп'ютерів пропонують реляційні бази даних; такі бази даних домінують і на ринку комп'ютерних систем, що працюють під управлінням UNIX. У міру того як окремі персональні комп'ютери поступаються дорогою мереж з архітектурою клієнт / сервер, SQL видозмінює ринок баз даних для персональних комп'ютерів. SQL застосовується навіть при оперативній обробці транзакцій, спростовуючи існувало раніше думка, що через низький швидкодії реляційні бази даних ніколи не зможуть використовуватися в додатках для обробки транзакцій. SQL і специфікація SAA компанії IBM SQL відіграє ключову роль в якості мови доступу до баз даних, що об'єднує численні несумісні комп'ютерні сімейства компанії IBM. Ця роль була відведена йому ще в специфікації SAA (Systems Application Architecture - архітектура прикладних систем) компанії IBM в 1987 році. Хоча головні цілі SAA так і не були досягнуті, об'єднуюча роль SQL з часом стала ще важливіше. У міру розвитку реляційної технології та збільшення потужності комп'ютерів роль SQL в оперативній обробці транзакцій також зростає. Тепер для оперативної обробки транзакцій часто використовуються реляційні бази даних, швидкодія яких виросло на кілька порядків[5].
2.2 Характеристика Му SqL
MySQL - це вільно поширювана СУБД, розроблена компанією MySQL AB. MySQL має клієнт-серверну архітектуру: до сервера MySQL можуть звертатися різні клієнтські програми, в тому числі з віддалених комп'ютерів. Розглянемо найважливіші особливості MySQL, завдяки яким ця програма набула популярності: - MySQL - це СУБД з відкритим кодом. Будь-який бажаючий може безкоштовно завантажити програму на сайті розробника (http://dev.mysql.com/downloads/) і при необхідності доопрацювати її. Існує безліч додатків MySQL, створених і вільно розповсюджуваних сторонніми розробниками. Однак для застосування MySQL в комерційному додатку необхідно придбати комерційну ліцензовану версію програми у компанії MySQL AB. - MySQL - кроссплатформенная система. Її можна використовувати практично у всіх сучасних операційних системах, у тому числі Windows, Linux, Mac OS, Solaris, HP-UX та ін. - MySQL має безліч програмних інтерфейсів (API), завдяки яким до бази даних MySQL можуть підключатися додатки, створені з допомогою C / C ++, Eiffel, Java, Perl, PHP, Python, Tcl, ODBC, NET і Visual Studio. - MySQL має відмінні технічні характеристики: многопоточность, багатокористувацький доступ, швидкодія, масштабованість (компанія-розробник наводить приклад MySQL-сервера, який працює з 60 тис. Таблиць, що містять приблизно 5 млрд рядків). - MySQL має розвинену систему забезпечення безпеки та розмежування доступу на основі системи привілеїв. MySQL являє собою реляційну СУБД, тобто систему керування базами даних. [1;стр.9]
2.3 Оператор SELECT
Оператор SELECT здійснює вибірку з бази даних і має найбільш складну структуру серед усіх операторів мови SQL. Цей оператор найбільш затребуваний, отже, отримання навичок та вмінь роботи зокрема з оператором SELECT гарантує успіх при оволодінні мови структурованих запитів SQL в цілому.
Рис. 2.1 - Структура оператора SELECT
Розглянемо синтаксис оператора SELECT (рис. 2.1). В даному випадку <value expression> - вираз, який виробляє значення. Воно може включати в себе або містити імена стовпців <column name> в таблиці, <table name> є ім'ям або синонімом таблиці, <alias> являє собою тимчасовий синонім для таблиці, <predicate> - умова, яка може бути вірним або невірним для кожної рядка або комбінації рядків таблиці в реченні FROM, <integer> - число з десятковою крапкою. Найбільш ефективним шляхом вивчення мови структурованих запитів SQL є розгляд конкретних прикладів використання різних конструкцій. Необхідно відзначити, що структурований мова запитів SQL має велику кількість діалектів, які мають різні можливості для обробки даних і процедурні надбудови, наприклад, Procedural SQL, Transact-SQL, PostgreSQL, проте всі вони лише розширюють стандарт SQL2. Саме на цей стандарт орієнтовані наведені нижче приклади використання структурованого мови запитів. В якості предметної області для демонстрації роботи запитів будемо використовувати навчальну таблицю PC, в якій зберігається інформація про різних конфігураціях персональних комп'ютерів (малюнок 2.2). Дана таблиця складається з шести стовпців: price - в цьому стовпці зберігається числова інформація про вартість комп'ютера, speed - являє собою стовпець з числовою інформацією про частоту роботи мікропроцесора, hd - містить числову інформацію про розмір жорсткого диска, ram - в цьому стовпці зберігається розмір оперативної пам'яті комп'ютера в числовому вигляді, cd - стовпець з текстовою інформацією про швидкість роботи CD-ROM, model - стовпець, в якому зберігається унікальний код конфігурації комп'ютера в числовому вигляді.
Рис.2.2 - Інформація, що міститься в навчальній таблиці PC
У SQL існує ряд агрегатних функцій, кожна з яких оперує сукупністю значень стовпця деякої таблиці і створює єдине значення. Стандартом передбачені наступні агрегатні функції. Функція COUNT (*) повертає кількість рядків джерела даних. Функція COUNT (<ім'я поля>) повертає кількість значень у вказаному стовпці. Функція SUM (<ім'я поля>) повертає суму значень у вказаному стовпці. Функція AVG (<ім'я поля>) повертає середнє значення у вказаному стовпці. Функція MIN (<ім'я поля>) повертає мінімальне значення у вказаному стовпці. Функція MAX (<ім'я поля>) повертає максимальне значення у вказаному стовпці. Функції COUNT, MIN і MAX застосовні до будь-яких типів даних, SUM і AVG застосовуються тільки для числових полів. Розглянемо більш докладно використання кожної з цих функцій. Пошук максимального і мінімального значень у вибірці даних здійснюється за допомогою агрегатних функцій MAX і MIN: SELECT MIN (price) AS Min_price, MAX (price) AS Max_price FROM PC. Для отримання кількості рядків в горизонтальній вибірці даних використовується функція COUNT: SELECT COUNT (*) AS Qty FROM PC WHERE cd IN ('50x', '52x') Для того, щоб при отриманні результату агрегатних функцій використовувалися тільки унікальні значення, при їх аргументі можна також використовувати параметр DISTINCT: SELECT COUNT (DISTINCT cd) AS Qty FROM PC WHERE cd IN ('50x', '52x') Пошук середнього значення у вибірці даних здійснюється за допомогою агрегатної функції AVG: SELECT AVG (hd) AS Avg_hd FROM PC WHERE cd = '50x' Результати відповідних запитів наведено на рис. 2.3
Рис. 2.3 - Результати виконання агрегатних функцій: а) пошук мінімуму і максимуму, б) знаходження кількості записів, в) пошук кількості унікальних записів, г) знаходження середнього значення.
Існує кілька загальних правил виконання агрегатних функцій, дотримання яких дозволить уникнути багатьох помилок при розробці запитів: 1) якщо в результаті виконання запиту не отримано жодного рядка, то вихідні дані для обчислення будь-який з агрегатних функцій відсутні. У цьому випадку результатом виконання функцій COUNT буде нуль, а результатом усіх інших функцій - NULL; 2) аргумент агрегатної функції не може сам утримувати агрегатні функції; 3) результатом виконання функції COUNT є ціле число. Інші агрегатні функції успадковують типи даних оброблюваних значень; 4) якщо при виконанні функції SUM був отриманий результат, що перевищує максимальне значення використовуваного типу даних, виникає помилка. Значно збільшує цінність запитів можливість виконання операції угруповання даних, яка дозволяє виконувати зрізи інформації в різних аспектах, це тим самим надає додатковий сервіс користувачам комерційних баз даних. Пропозиція GROUP BY використовується для визначення груп вихідних рядків, до яких можуть застосовуватися агрегатні функції. Якщо ця пропозиція відсутня, і використовуються агрегатні функції, то всі стовпці з іменами, згаданими в SELECT, повинні бути включені в агрегатні функції. Інакше всі стовпці списку SELECT, що не увійшли до агрегатні функції, повинні бути зазначені в пропозиції GROUP BY. Наведемо приклад використання угруповання даних:
SELECT ram, COUNT (ram) AS Qty_ram, AVG (price) AS Avg_price FROM PC GROUP BY ram Результат виконання даного запиту наведено на рис. 2.4
рис. 2.4- Результат виконання даного запиту
Функціональність угруповання даних розширюється за рахунок застосування пропозиції HAVING, яке використовується після угруповання для визначення предиката, фільтруючого групи за значеннями агрегатних функцій. Ця пропозиція необхідно для перевірки значень, які отримані за допомогою агрегатної функції: SELECT ram, AVG (price) AS Avg_price FROM PC GROUP BY ram HAVING ram IN (256, 512)
У пропозиції HAVING не можна застосовувати псевдонім (Avg_price), використовуваний для іменування значень агрегатної функції: SELECT ram, COUNT (ram) AS Qty_ram, AVG (price) AS Avg_price FROM PC GROUP BY ram HAVING AVG (price)> 700 Результати виконання групування даних з визначенням предиката представлені на рис. 2.5
Рис. 2.5 Результати виконання групування даних з визначеннямпредиката: а) простий предикат, б) складний предикат [2;стр.59-61,66-68]
Розділ 3. БД Архітектурна компанія
3.1 Загальний опис бази даних
База даних, над якою я працював, має назву «Архітектурна компанія» наведемо скріншот цієї бази на ACCESS:
З даної таблиці бачимо, що дана БД має 7 таблиць. Отже, перерахуємо їх: Компанія (первинний ключ Код_компанії), Партнери (первинний ключ Код_партнера), Персонал (первинний ключ Код_працівника), Замовлення (первинний ключ Код_працівника), Проект (первинний ключ №_проекту), Будівельні матеріали (первинний ключ Код_постачальника), Клієнт (первинний ключ Код_клієнта). Вона має такі зв'язки: Код_партнёра (Компанія) до Код_партнёра (Партнери) ставлення виду «один - до багатьох»; Код_компанії (Компанія) до Код_компанії (Персонал) ставлення виду «один - до багатьох»; Код_працівника (персонал) до Код_працівника (Замовлення) ставлення виду «один - до багатьох»; №_Заказу (Замовлення) до №_проекту (Проект) ставлення виду «один - до одного»; Код_постачальника (Замовлення) до Код_постачальника (Будівельні матеріали) відносини виду «один - до одного» і Код_клієнта (Клієнт) до Код_клієнта (замовлення) ставлення виду «один - до багатьох».
3.2 Приклад створення таблиці
Код на MYQSL:
CREATE TABLE Companya (Kod_kompanii INT(10), Name_company VARCHAR(50),Phone_fax VARCHAR(50), Email VARCHAR(50), Address VARCHAR(50), Kod_partnёra INT(10));
Висновки
База даних (скорочено -- БД) -- впорядкований набір логічно взаємопов'язаних даних, що використовуються спільно та призначені для задоволення інформаційних потреб користувачів. У технічному розумінні включно й система керування БД.Головне завдання БД - гарантоване збереження значних обсягів інформації (так звані записи даних) та надання доступу до неї користувачеві або ж прикладній програмі. Таким чином, БД складається з двох частин: збереженої інформації та системи керування нею.З метою забезпечення ефективності доступу записи даних організовують як множину фактів (елемент даних).MySQL -- компактний багатопотоковий сервер баз даних. Характеризується високою швидкістю, стійкістю і простотою використання.MySQL був розроблений компанією «ТсХ» для підвищення швидкодії обробки великих баз даних. Ця система керування базами даних (СКБД) з відкритим кодом була створена як альтернатива комерційним системам. MySQL з самого початку була дуже схожою на mSQL, проте з часом вона все розширювалася і зараз MySQL -- одна з найпоширеніших систем керування базами даних. Вона використовується, в першу чергу, для створення динамічних веб-сторінок, оскільки має чудову підтримку з боку різноманітних мов програмування.
Можливості сервера MySQL:
- простота у встановленні та використанні;
- підтримується необмежена кількість користувачів, що одночасно працюють із БД;
- кількість рядків у таблицях може досягати 50 млн;
- висока швидкість виконання команд;
- наявність простої і ефективної системи безпеки.
Список використаних джерел
1)В. Гольцман. «MySQL 5.0. Библиотека программиста»
2) Зрюмов Е.А. - Базы данных для инженеров - 2010
3) Кузнецов М.В., Симдянов И.В. - MySQL 5 (в подлиннике) - 2010
4) Хомоненко А.Д., Цыганков В.М., Мальцев М.Г. - Базы данных. Учебник для высших учебных заведений (6-е изд.) - 2009
5) http://www.parta.com.ua/referats/view/7761/)
6) https://ru.wikipedia.org/wiki/Сервер_базы_данных
Размещено на Allbest.ru
Подобные документы
Використання баз даних та інформаційних систем. Поняття реляційної моделі даних. Ключові особливості мови SQL. Агрегатні функції і угрупування даних. Загальний опис бази даних. Застосування технології систем управління базами даних в мережі Інтернет.
курсовая работа [633,3 K], добавлен 11.07.2015Основні відомості про реляційні бази даних, система управління ними. Основні директиви для роботи в середовищі MySQ. Визначення та опис предметної області. Створення таблиць та запитів бази даних автоматизованої бази даних реєстратури в поліклініці.
курсовая работа [2,9 M], добавлен 06.11.2011Проектування бази даних, що реалізує звіти про графік робіт на об’єктах впродовж місяця. Графічне зображення нагромаджувачів даних. Побудова діаграм потоків даних і переходів станів, таблиць у вигляді двовимірного масиву, запитів. Створення бази даних.
курсовая работа [1,2 M], добавлен 29.02.2012Розробка структури бази даних. ER-моделі предметної області. Проектування нормалізованих відношень. Розробка форм, запитів, звітів бази даних "Автосалон". Тестування роботи бази даних. Демонстрація коректної роботи форми "Додавання даних про покупців".
курсовая работа [4,0 M], добавлен 02.12.2014Створення інформаційних таблиць бази даних. Створення екранних форм як засобу організації інтерфейсу користувача. Створення запитів для вибору, сортування і обчислення з використанням даних однієї таблиці. Оформлення звітів за допомогою команд MS Access.
лабораторная работа [397,7 K], добавлен 09.09.2010Форми вихідних документів. Перелік запитів до бази даних. Побудова інфологічної моделі, її структурні компоненти: сутності, зв’язки та відносини. Перелік таблиць, опис запитів. Загальна характеристика та головний зміст форм розроблюваної бази даних.
курсовая работа [414,5 K], добавлен 31.01.2014Поняття та переваги реляційної бази, автоматизація аналізу даних. Опис основних компонентів сховища даних AS/400. Процес перетворення оперативних даних в інформаційні. Багатовимірні бази даних (MDD). Опис даних і створення файлів в інтеграційних базах.
реферат [36,8 K], добавлен 14.01.2012Створення баз даних з використанням платформи Microsoft Access 2010 та структурованих запитів SQL. ER-діаграма бази даних з описом кожної сутності та її атрибутів. Розробка інтерфейсу, елементів навігації та макросів для автоматичного виконання запитів.
курсовая работа [3,1 M], добавлен 21.08.2014Бізнес процеси й елементи даних. Специфікація елементів даних. Діаграма класів проектування. Створення та використання об'єктів бази даних. Таблиці, обмеження цілісності, тригери, типові вибірки, представлення, індекси. Типові оператори модифікації даних.
курсовая работа [255,3 K], добавлен 01.06.2019Основні поняття та особливості розробки баз даних в Microsoft Access. Побудова бази даних магазину побутової техніки: створення таблиць та встановлення зв’язків між ними, створення запитів, форм та звітів. Охорона праці і гігієна користувача комп'ютера.
курсовая работа [2,5 M], добавлен 19.01.2010