Методи проектування баз даних
Аналіз об'єктів дослідження, проектування баз даних. Розробка програмного забезпечення для роботи зі спроектованою базою даних. Реалізація індексів, опис метаданих в середовищі MySQL. Специфікація DDL для MySQL, протокол тестування DDL-сценарії.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | контрольная работа |
Язык | украинский |
Дата добавления | 05.01.2014 |
Размер файла | 389,9 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Контрольна робота
з дисципліни "Проектування баз даних”
Зміст
- Вступ
- Текстово-графічний опис об'єкта автоматизації
- Бізнес вимоги до вхідних даних
- Логічне проектування
- ERD
- Фізичне проектування
- DDL описи метаданих в середовищі MySQL
- Реалізація індексів в MySQL
- Специфікація DDL для MySQL
- Протокол тестування DDL сценаріїв
- Висновки
- Список використаних джерел
Вступ
Бази даних виконують функцію систематизації знань. На основі цієї систематизації можуть створюватися нові знання. Так чи інакше, будь-яка база даних служить людині саме для опису подій, що відбулися у минулому, і на основі знання цих подій допомагає ухвалити те або інше рішення на майбутнє. База знань може бути побудована як мультимедійний довідник або як набір текстів і файлів іншого формату, проіндексованих за певними ознаками в базі даних.
База даних - це, перш за все, сховище об'єктів даних, тобто набору можливих понять або подій, що описуються базою даних, з можливістю пошуку цих об'єктів за ознаками. Невід'ємною межею бази даних є можливість скріплення об'єктів між собою. Базою даних можна вважати не тільки таблиці, що індексують файли із знаннями різних форматів, але і самі ці файли, тому, що вони є сховищами знань, що не типізуються, в такій базі даних. Основною ціллю курсового проекту є закріплення, систематизація та поглиблення знань, отриманих під час вивчення дисципліни, а також розвинення практичних навичок з аналізу об'єктів дослідження, проектування баз даних, розробки та налагодження програмного забезпечення для організації роботи зі спроектованою базою даних.
Основними задачами курсового проекту є:
· поглиблення знань з теорії баз даних;
· постановка задачі та розв'язання питань інформаційного забезпечення програми;
· освоєння методів проектування БД для вирішення конкретних задач;
· одержання уміння виконувати логічне і фізичне проектування баз даних;
· освоєння інструментальних засобів проектування СУБД і створення програмного забезпечення для обробки даних БД;
· оформлення контрольної роботи;
Текстово-графічний опис об'єкта автоматизації
В даній контрольній роботі об'єктом автоматизації є веб-сайт риболовного турніру.
Наповнювати результати турнірів може лише менеджер турніру, а результати доступні користувачам.
Турнір повинний мати назву, місце та час проведення, також ім'я учасника, кількість виловленої риби, вагу.
Бізнес вимоги до вхідних даних
Дана база даних буде наповнюватись інформацією з моменту її введення в експлуатацію та не потребує початкового її ведення (імпорту).
Дані під час життя бази даних будуть наповнюватись за допомогою системи керування базою даних, яка буде використовуватись на сайті.
Логічне проектування
Мета логічного проектування полягає в створенні логічної моделі даних для досліджуваної частини об'єкта автоматизації. Вхідними даними для побудови логічної моделі є концептуальна модель. Логічна модель даних враховує особливості вибраної моделі організації даних в цільовій СУБД (наприклад, реляційна модель).
Якщо концептуальна модель даних не залежить від будь-яких фізичних аспектів реалізації, то логічна модель даних створюється на основі вибраної моделі організації даних цільової СУБД. Інакше кажучи, на цьому етапі вже повинно бути відомо, яка СУБД використовуватиметься як цільова - реляційна, мережева, ієрархічна або об'єктно-орієнтована. Проте на цьому етапі ігнорується вся решта характеристик вибраної СУБД, наприклад, будь-які особливості фізичної організації її структур зберігання даних і побудови індексів.
В процесі розробки логічна модель даних постійно тестується і перевіряється на відповідність вимогам користувачів. Для перевірки правильності логічної моделі даних використовується метод нормалізації. Нормалізація гарантує, що відносини, виведені з існуючої моделі даних, не володітимуть надмірністю даних, здатною викликати порушення в процесі оновлення даних після їх фізичної реалізації. Крім всього іншого, логічна модель даних повинна забезпечувати підтримку всіх необхідних користувачам транзакцій.
Створена логічна модель даних є джерелом інформації для етапу фізичного проектування і забезпечує розробника фізичної бази даних засобами пошуку компромісів, необхідних для досягнення поставлених цілей, що дуже важливе для ефективного проектування. Логічна модель даних виконує також важливу роль на етапі експлуатації і супроводу вже готової системи. При правильно організованому супроводі підтримувана в актуальному стані модель даних дозволяє точно і наочно представити будь-які зміни, що вносяться в базу даних, а також оцінити їх вплив на прикладні програми і використовування даних, що вже є в базі.
проектування база протокол індекс
Діаграма корпоративної моделі даних
Таблиця ідентифікаторів
Реальна назва |
Назва в БД |
Тип |
|
Ідентифікатор |
Позначення |
Тип |
|
Прізвище |
surname |
varchar (100) |
|
Ім'я |
name |
varchar (100) |
|
По-батькові |
patronymic |
varchar (100) |
|
Ім'я турніру |
name |
varchar (30) |
|
Умова |
target |
varchar (20) |
|
Місце змагання |
place |
varchar (100) |
|
Початок змагання |
begin |
date |
|
Кінець змагання |
end |
date |
|
Початковий внесок |
fee |
int |
|
Назва риби |
fish |
varchar (20) |
|
Учасники |
patricipants |
varchar (100) |
|
Час |
time |
int |
|
Вага |
weight |
int |
ERD
Модель "сутність-зв'язок" (ER-модель) (англ. Entity-relationship model або entity-relationship diagram) - модель даних, яка дозволяє описувати концептуальні схеми за допомогою узагальнених конструкцій блоків. ER-модель - це мета-модель даних, тобто засіб опису моделей даних.
ER-модель зручна при проектуванні інформаційних систем, баз даних, архітектур комп'ютерних застосунків та інших систем (моделей). За допомогою такої моделі виділяють найсуттєвіші елементи (вузли, блоки) моделі і встановлюють зв'язки між ними.
Існує ряд моделей для представлення знань. Одним з найзручніших інструментів уніфікованого представлення даних, незалежного від реалізовуючого його програмного забезпечення, є модель "сутність-зв'язок" (entity - relationship model, ER - model).
Модель "сутність-зв'язок" ґрунтується на якійсь важливій семантичній інформації про реальний світ і призначена для логічного представлення даних. Вона визначає значення даних в контексті їх взаємозв'язку з іншими даними. Важливим для нас є той факт, що з моделі "сутність-зв'язок" можуть бути породжені всі існуючі моделі даних (ієрархічна, мережева, реляційна, об'єктна), тому вона є найбільш загальною. Будь-який фрагмент наочної області може бути представлений як безліч сутностей, між якими існує деяка безліч зв'язків.
ER-модель - це одна з найпростіших візуальних моделей. Вона дозволяє осягнути структуру об'єкта "крупними мазками", в загальних рисах. Такий загальний опис структури називається ER-діаграмою або онтологією вибраної предметної області (area of interest).
Фізичне проектування
Фізичне проектування є останнім етапом створення проекту бази даних, при виконанні якого проектувальник ухвалює рішення про способи реалізації бази даних, що розробляється. Під час попереднього етапу проектування була визначена логічна структура бази даних (яка описує відносини і обмеження в даній прикладній області). Хоча ця структура не залежить від конкретної цільової СУБД, вона створюється з урахуванням вибраної моделі зберігання даних, наприклад реляційної, мережевої або ієрархічної. Проте, приступаючи до фізичного проектування бази даних, перш за все, необхідно вибрати конкретну цільову СУБД. Тому фізичне проектування нерозривно пов'язане з конкретною СУБД. Між логічним і фізичним проектуванням існує постійний зворотний зв'язок, оскільки рішення, що приймаються на етапі фізичного проектування з метою підвищення продуктивності системи, здатні вплинути на структуру логічної моделі даних.
Як правило, основною метою фізичного проектування бази даних є опис способу фізичної реалізації логічного проекту бази даних. У разі реляційної моделі даних під цим мається на увазі наступне:
? створення набору реляційних таблиць і обмежень для них на основі інформації, представленої в глобальній логічній моделі даних;
? визначення конкретних структур зберігання даних і методів доступу до них, забезпечуючих оптимальну продуктивність СУБД;
? розробка засобів захисту створюваної системи.
MySQL - безкоштовна клієнт-серверна архітектура СКБД, яка має ряд особливостей:
? СКБД з відкритим кодом, тобто кожний бажаючий може при необхідності корегувати програму.
? Кросплатформена система. Її можна використовувати практично на всіх сучасних ОС: Windows, Linux, Mac OS, Solaris та ін.
? Має декілька програмних інтерфейсів (API), завдяки чому до бази даних можуть під'єднуватись додатки створені на C/C++, Java, PHP, ODBC, Perl, NET та ін.
? Має чудові технічні характеристики: багато поточність, багатокористувацький доступ, швидкодія, масштабність (компанія-розробник приводить приклад із використанням MySQL серверу, який працює із 60 тис. таблиць, в кожній із яких приблизно 5 млрд. записів).
DDL описи метаданих в середовищі MySQL
CREATE TABLE IF NOT EXISTS `competitions` (
`id` int (11) NOT NULL AUTO_INCREMENT,
`name` varchar (255) NOT NULL,
`target` varchar (255) NOT NULL,
`place` varchar (255) NOT NULL,
`begin` datetime NOT NULL,
`end` datetime NOT NULL,
`fee` int (11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;
CREATE TABLE IF NOT EXISTS `fish` (
`id` int (11) NOT NULL AUTO_INCREMENT,
`name` varchar (255) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;
CREATE TABLE IF NOT EXISTS `fishing` (
`id` int (11) NOT NULL AUTO_INCREMENT,
`fish_id` int (11) NOT NULL,
`member_id` int (11) NOT NULL,
`competition_id` int (11) NOT NULL,
`time` datetime NOT NULL,
`weight` int (11) NOT NULL,
PRIMARY KEY (`id`),
KEY `fish_id` (`fish_id`),
KEY `competition_id` (`competition_id`),
KEY `member_id` (`member_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;
CREATE TABLE IF NOT EXISTS `members` (
`id` int (11) NOT NULL AUTO_INCREMENT,
`name` varchar (255) NOT NULL,
`surname` varchar (255) NOT NULL,
`patronymic` varchar (255) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;
CREATE TABLE IF NOT EXISTS `participants` (
`id` int (11) NOT NULL AUTO_INCREMENT,
`member_id` int (11) NOT NULL,
`competition_id` int (11) NOT NULL,
PRIMARY KEY (`id`),
KEY `member_id` (`member_id`),
KEY `competition_id` (`competition_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;
Реалізація індексів в MySQL
ALTER TABLE `fishing`
ADD CONSTRAINT `fishing_ibfk_3` FOREIGN KEY (`member_id`) REFERENCES `members` (`id`) ON UPDATE CASCADE,
ADD CONSTRAINT `fishing_ibfk_1` FOREIGN KEY (`fish_id`) REFERENCES `fish` (`id`) ON UPDATE CASCADE,
ADD CONSTRAINT `fishing_ibfk_2` FOREIGN KEY (`competition_id`) REFERENCES `competitions` (`id`) ON UPDATE CASCADE
ALTER TABLE `participants`
ADD CONSTRAINT `participants_ibfk_2` FOREIGN KEY (`competition_id`) REFERENCES `competitions` (`id`) ON UPDATE CASCADE,
ADD CONSTRAINT `participants_ibfk_1` FOREIGN KEY (`member_id`) REFERENCES `members` (`id`) ON UPDATE CASCADE;
Специфікація DDL для MySQL
CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name
[ (create_definition,.)]
[table_options]
[partition_options]
select_statement
ALTER {DATABASE | SCHEMA} db_name
UPGRADE DATA DIRECTORY NAME
alter_specification:
[DEFAULT] CHARACTER SET [=] charset_name
| [DEFAULT] COLLATE [=] collation_name
[CONSTRAINT [symbol]] FOREIGN KEY
[index_name] (index_col_name,.)
REFERENCES tbl_name (index_col_name,.)
[ON DELETE reference_option]
[ON UPDATE reference_option]
reference_option:
RESTRICT | CASCADE | SET NULL | NO ACTION
Протокол тестування DDL сценаріїв
Вибірка користувачів:
SELECT * FROM `competition`;
Вибірка подій, на які піде користувач:
SELECT * FROM `members` WHERE `id` IN (SELECT `member_id` FROM `participants` WHERE `competition_id` = 0)
Висновки
База даних - це, перш за все, сховище об'єктів даних, тобто набору можливих понять або подій, що описуються базою даних, з можливістю пошуку цих об'єктів за ознаками. Невід'ємною межею бази даних є можливість скріплення об'єктів між собою. Базою даних можна вважати не тільки таблиці, що індексують файли із знаннями різних форматів, але і самі ці файли, тому, що вони є сховищами знань, що не типізуються, в такій базі даних. Основною ціллю курсового проекту є закріплення, систематизація та поглиблення знань, отриманих під час вивчення дисципліни, а також розвинення практичних навичок з аналізу об'єктів дослідження, проектування баз даних, розробки та налагодження програмного забезпечення для організації роботи зі спроектованою базою даних.
В процесі розробки логічна модель даних постійно тестується і перевіряється на відповідність вимогам користувачів. Для перевірки правильності логічної моделі даних використовується метод нормалізації. Нормалізація гарантує, що відносини, виведені з існуючої моделі даних, не володітимуть надмірністю даних, здатною викликати порушення в процесі оновлення даних після їх фізичної реалізації. Крім всього іншого, логічна модель даних повинна забезпечувати підтримку всіх необхідних користувачам транзакцій.
Створена логічна модель даних є джерелом інформації для етапу фізичного проектування і забезпечує розробника фізичної бази даних засобами пошуку компромісів, необхідних для досягнення поставлених цілей, що дуже важливе для ефективного проектування. Логічна модель даних виконує також важливу роль на етапі експлуатації і супроводу вже готової системи. При правильно організованому супроводі підтримувана в актуальному стані модель даних дозволяє точно і наочно представити будь-які зміни, що вносяться в базу даних, а також оцінити їх вплив на прикладні програми і використовування даних, що вже є в базі.
Список використаних джерел
1. Благодаров А.В., Гринченко Н.Н., Овечкин Г.В. Клиент-серверные технологии баз данных. Методические указания к лабораторным работам. РГРТУ, Рязань, 2011.
2. Всесвітня пошукова система www.google.com
3. Гурвиц Г.А., Розробка приложения с помощью Microsoft Visual FoxPro 9., 2009.
4. Гореев А., Макашарипов С., Ахаян Р. Эффективная работа с СУБД,
Размещено на Allbest.ru
Подобные документы
Специфікація вимог для кожного з двох користувачів. Концептуальне та логічне проектування баз даних. Історія досліджень баз даних (програмного забезпечення). Система упрваління базами даних. Фази проектування баз даних: концептуальна, логічна, фізична.
дипломная работа [105,8 K], добавлен 20.02.2010Розробка структури бази даних. ER-моделі предметної області. Проектування нормалізованих відношень. Розробка форм, запитів, звітів бази даних "Автосалон". Тестування роботи бази даних. Демонстрація коректної роботи форми "Додавання даних про покупців".
курсовая работа [4,0 M], добавлен 02.12.2014Етапи проектування баз даних. Декларація вимог до проектованої системи баз даних, до інформаційного, математичного, програмного, технічного, організаційного забезпечення. Опис заходів, необхідних для контролю даних у базі даних, їх резервного копіювання.
курсовая работа [65,1 K], добавлен 09.12.2012Проектування та реалізація бази даних на фізичному рівні. Формування сутності з їх атрибутами. Вибір засобів розробки даного програмного забезпечення. Створення інтерфейсу для роботи з базою даних. Інструкція користувача, головне функціональне вікно.
курсовая работа [1,7 M], добавлен 26.09.2013Основні відомості про реляційні бази даних, система управління ними. Основні директиви для роботи в середовищі MySQ. Визначення та опис предметної області. Створення таблиць та запитів бази даних автоматизованої бази даних реєстратури в поліклініці.
курсовая работа [2,9 M], добавлен 06.11.2011Розробка автоматизованої бази даних реєстратури в поліклініці для ведення обліку лікарів та пацієнтів, а також зберігання та отримання якісної структурованої, та доступної інформації про них за допомогою виконання певних запитів в середовищі MySQL.
курсовая работа [1,5 M], добавлен 03.11.2011Функції інформаційної системи. Аналіз функцій системи управління базами даних: управління транзакціями і паралельним доступом, підтримка цілісності даних. Аналіз системи MySQL. Елементи персонального комп’ютера: монітор, клавіатура, материнська плата.
дипломная работа [1,2 M], добавлен 15.05.2012Бізнес процеси й елементи даних. Специфікація елементів даних. Діаграма класів проектування. Створення та використання об'єктів бази даних. Таблиці, обмеження цілісності, тригери, типові вибірки, представлення, індекси. Типові оператори модифікації даних.
курсовая работа [255,3 K], добавлен 01.06.2019Систематизація знань як основна функція бази даних. Логічне та фізичне проектування бази даних. Створення таблиць у базі даних, визначення основних зв'язків. Інструментальні засоби проектування та створення програмного забезпечення для обробки даних.
курсовая работа [1,4 M], добавлен 29.04.2010Опис вхідних та вихідних повідомлень, процедури перетворення даних. Розробка інфологічної моделі, інформаційні об’єкти та їх характеристика. Автоматизація даталогічного проектування. Опис структур таблиць бази даних на фізичному рівні, реалізація запитів.
курсовая работа [2,5 M], добавлен 02.01.2014