Методи проектування баз даних

Аналіз об'єктів дослідження, проектування баз даних. Розробка програмного забезпечення для роботи зі спроектованою базою даних. Реалізація індексів, опис метаданих в середовищі 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


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.