Основы проектирования базы данных 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Основы проектирования базы данных



Основы проектирования базы данных

Компоненты банка данных

Банк данных – это система специальным образом организованных баз данных, программно-технических, языковых и организационно-методических средств, предназначенных для обеспечения централизованного накопления и коллективного многоцелевого использования данных

Компоненты банка данных:

1. Базы данных – совокупность взаимосвязанных данных находящихся под управлением системой управления базы данных.

2. Системой управления базы данных – сложный комплекс, обеспечивающий взаимодействия всех частей информационной системы при её функционировании. Сюда входят: организация ввода, обработка и хранение данных, средство настройки системы и её тестирование. Звуковые средства обеспечивают интерфейс пользователя с БД.

3. Технические средства

4. Организационно-методические средства – инструкции, документы, методички

5. Администратор банка данных – это группа специалистов, обеспечивающие создание, функционирование и развитие банка данных

Уровни представления данных:

1. Логический – уровень математической модели, условное представление данных как системы объектов и связей между ними

2. Физический (внутренний) – уровень программно-аппаратной реализации хранения данных

3. Внешний – визуальное представление данных с которым работает конечный пользователь

Классификация баз данных:

1. По модели представления данных

a. Иерархическая БД – БД в которой связь между элементами осуществляется по типу подчинения и схематично изображается в виде дерева. Плюсы: Простота и однозначность представления, легкость адресации
Минусы: Существенная зависимость от программно-аппаратных средств

b. Сетевая БД – БД соединены друг с другом многими сложными связями.
Плюсы: Теоретически возможно сколько угодно сложных связей между объектами.
Минусы: сложность реализации, зависимость от программно-аппаратных средств

c. Реляционная БД – представления данных в виде системы взаимосвязанных таблиц. Каждый объект системы описывается в виде таблицы с набором свойств (атрибутов), а взаимосвязь между объектами связями между таблицами.
Плюсы: Простота, относительная независимость от программно-аппаратных средств.
Минусы: Существенная зависимость скорости обработки от объёма базы данных.

2. По организации хранения данных и обращения к ним

a. Локальные

b. Сетевые

c. Распределённые

3. По типу хранения информации

a. Документальные

b. Фотографические

c. Лексикографические

Реляционная система управления БД:

1. осуществляют работу с БД через экранные формы, организация запросов

2. Организация запросов на поиск данных с помощью специальных языковых запросов высокого уровня

3. Генерация отчётов различной структуры данных с подведение промежуточных и окончательных итогов

4. Вычислительную обработку путём использования встроенных функций программ, написанных с помощью языков программирования и макрокоманд

Связь – отношение между 2 общими полями 2 таблиц

Типы связи между данными:

1. Отношение 1:1 – каждая запись в таблице А может иметь не более 1 связанной записи в таблице Б и наоборот. Может использоваться для разделения таблиц, содержащих много полей для деления части таблиц по соображениям безопасности, а также для сохранения сведений, относящихся к подмножеству в главной таблице

2. Отношение 1 к многим – каждой записи в таблице А может соответствовать несколько записей в таблице Б, но не наоборот.

3. Отношение много к многим – 1 записи в таблице А могут соответствовать несколько записей в таблице Б, а 1 записи в таблице Б несколько записей в таблице А. Этот тип связи возможен только с помощью 3 связующей таблицы, первичный ключ, который состоит из 2 полей, которые являются внешними ключами таблиц А и Б.

4. Отношение много к 1 – несколько записей в таблице А относятся к 1 записи в таблице Б

Классификация систем управления базами данных (СУБД):

1. По языкам общения

a. Открытые

b. Закрытые

c. Смешанные

2. По выполняемым функциям

a. Информационные (хранение)

b. Операционные (с последующей обработкой)

СУБД
Технические средства
Организационно-методические средства
языковые
программные
Администратор БД

 

 


Исторически в СУБД сложилось 3 языка:

1. Язык описания данных – для построения структуры (шапки) таблиц базы данных

2. Язык манипулирования данными – заполнение БД данными и операции обновления

3. Язык запросов – язык поиска наборов величин в файле в соответствии с заданной совокупности критерии поиска и выдачи затребованных данных без изменения содержимого файла и базы данных

 

Модели данных

Реляционная модель данных

Правила Кодда:

1. Информационный – вся информация в БД должна быть представлена исключительно на логическом уровне и только 1 способом, в виде значений содержащихся в таблицах

2. Правило гарантированного доступа – логический доступ ко всем и каждому элементу данных должен обеспечиваться путём использования комбинаций имени таблицы, первичного ключа и имени столбца

3. Правило поддержки недействительных значений – в БД должна быть организованная поддержка недействительных значений, которая отличается от строки символов 0 длины, строки пробельных символов, и от 0 и любого другого числа используются для представления отсутствующих данных независимо от типа этих данных

4. Правило динамического каталога – описания БД на логическом уровне должно быть представлено в том же виде что и основные данные, чтобы пользователи обладающие соответствующими правами могли работать с ним с помощью того же реляционного языка который они применяют для работы с основными данными

5. Правило исчерпывающего подъязыка данных – система может поддерживать различные языки и режимы взаимодействия с пользователем, например режим вопросов и ответов, однако должен существовать по крайней мере 1 язык операторы которого можно представить в виде строк-символов в соответствии с некоторым чётко определённым синтаксисом, который в полной мере поддерживает следующие элементы:

1. Определение данных

2. Определение представлений

3. Обработку данных (интерактивные программы)

4. Условия целостности

5. Идентификацию прав доступа

6. Границы транзакция (начало, завершение и отмена)

6. Правила обновления представлений – все представления, которые теоритически можно обновить должны быть доступны для обновления

7. Правило обновления, добавления и удаления – возможность работать с соотношением как с одним аперантом должна существовать не только при чтении данных, но и при обновлении, добавлении и удалении

8. Правило независимости физических данных – прикладные программы и утилиты работы с данными должны на физическом уровне оставаться нетронутыми при внесении в базовые таблицы любых изменений способов хранения данных или методов доступа к ним

9. Правило независимости логических данных – прикладные программы и утилиты работы с данными должны на логическом уровне оставаться нетронутыми при внесении в базовые таблицы любых изменений способов хранения данных или методов доступа к ним

10. Правило независимости условий и целостности – должна существовать возможность проверять условия целостности специфические для конкретной реляционной БД на подъязыке реляционной БД и хранить их в каталоге, а не прикладной программе

11. Правило независимости распространения – СУБД не должна зависеть от потребностей конкретного клиента

12. Правило единственности – если в реляционной системе есть низкоуровневый (обрабатывающий 1 запись за 1 раз), то должна отсутствовать возможность использования его для того, чтобы обойти правило или условие целостности, выраженные на реляционном языке высокого уровня (несколько записей за раз)

Преподаватель Табельный номер преподавателя Фамилия Должность
1 {Табельный номер преподавателя, Фамилия, Должность}
или
2

 

Каждому имени атрибута Ai 1≤i≤n ставится в соответствии множества допустимых для соответствующего столбца значений, это множество Di называется доменом данного имени атрибута.

D=D1vD2v…vDn

Р# ФИО Должность Стаж
Р1 Иванов А.Б. Заведующая 20
Р2 Петров М.И. Инженер 5
Р3 Сидоров И.С. Инженер 7
Р4 Чистов К.Л. Лаборант 1

 

Атрибуты

Степень

Сотрудник

Кардинальное число
Кортежи
О 
Т
Н
О
Ш
Е
Н
И
Е

 


Кортежи могут располагаться в любом порядке, при этом отношение будет оставаться тем же самым, а значит иметь тот же самый смысл.

Множество кортежей называется телом отношения, оно отражает состояние объекта, поэтому во времени оно постоянно меняется; Это тело отношения характеризуется кардинальным числом, которое равно количеству содержащихся в нём кортежей.

Степень отношения определяется количеством атрибутов, которые в нём присутствуют.

Свойства отношения

1. Отношение имеет имя, которое отличается от имён всех других отношений

2. Отношение представляется в виде табличной структуры, имя таблицы соответствуют имени отношения, имена столбцов именам атрибутов, а строки таблицы кортежам

3. Каждый атрибут имеет уникальное имя, его значения берутся из одного и того же домена

4. Каждый компонент кортежа является простым, атомарным значением, не состоящим из группы значений, это не позволяет заменять значение атрибута другим отношением, что приводит к сетевому иерархическому отношению

5. Упорядочение атрибутов (по алфавиту и т.д.) несущественно, однако оно может влиять на эффективность доступа к кортежам

6. Все строки (кортежи) должны быть различны

7. Теоритически порядок следования кортежей не имеет значения, но этот порядок влияет на эффективность доступа к кортежем

Именованное отношение

1. Именованное отношение – это переменное отношение, определённое в СУБД посредством специальных операторов.

2. Базовое отношение – это именованное отношение являющиеся частью БД

3. Производное отношение – это отношение, определённое посредством реляционного выражения через базовые отношения

4. Представление – это именованное виртуальное производное отношение, представленное в системе исключительно в определённых терминов других именованных отношений

5. Снимки – это отношение подобные представлениям, но они сохраняются доступными для чтения и периодически обновляются

6. Результат запроса – это неименованное производное отношение, получаемое в результате запроса которое для сохранения необходимо преобразовать в именованное отношение

7. Хранимое отношение – это отношение, которое поддерживается в физической памяти

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

Лектор
Код лектора
ФИО

 


Ученое звание
Ученая степень
                                                       N

Читает

 


Кол-во часов
Код предмета
Название
Предмет
                                                       
                                                      M

 

 

Реляционная модель

Лектор
Код лектора
ФИО
Ученая степень
Ученое звание
Читает
Код лектора
Код предмета
Предмет
Код предмета
Название
Кол-во часов

 

         

                                    

 

Обновление отношений

Для обновления отношений необходимо обладать функциями добавления, изменения, удаления.

Операция добавления для отношения r(A1, A2…An) имеет вид
ADD(r;A1=d1, A2=d2,…An=dn)
ADD(r;d1,d2…dn) Если порядок фиксирован то можно сократить

Выполнение операции может стать невозможно в случаях:

1. Если добавляемый кортеж не соответствует схеме определённого отношения

2. Некоторые значения кортежей не принадлежат соответствующим доменам

3. Описанный кортеж совпадает по ключу с кортежем уже находящимся в отношении

Операция удаления

DEL(r;A1=d1, A2=d2,…An=dn)
DEL(r;d1,d2…dn)

Операция изменения – модификация части кортежа. При отношении r

При {c1,c2…cp}Э{A1,A2,…An}
CH(r;A1=d1, A2=d2,…An=dn;c1=e1,c2=e2,…cn=en)

Если К={B1, B2,…Bn}
CH(r;B1=d1, B2=d2,…Bn=dn;c1=e1,c2=e2,…cn=en)

Возможные ошибки такие же, как и в предыдущих.

Для обеспечения целостности данных необходимо выполнять следующие действия:

1. При удаление соотношения из записи надо проверить на отсутствие ссылок на удаляемую запись во всех связанных отношений. Причём сначала надо удалить все записи которые ссылаются на удаляемую запись и только после этого саму запись

2. Необходимо внимательное относится к изменению значений связующих полей

3. При добавлении новой записи в отношении в котором осуществляется ссылка на значение в другом отношении, необходимо проверить наличие связующих полей в отношении на которое осуществляется ссылка

Изменения первичного ключа в родительском отношении разрешены:

1. При изменении значений полей первичного ключа в родительском отношении автоматически осуществляется каскадное изменение всех соответствующих значений в дочернем отношении

2. Не позволяется изменять значения полей первичного ключа в родительском отношении, если в дочернем отношении имеется хотя бы 1 запись содержащая ссылку на изменяемую запись

3. Позволяется изменять значения полей первичного ключа в родительском отношении независимо от существования связанных записей в дочернем отношении. Целостность данных при этом не поддерживается.

При удалении записи в родительском отношении то же самое что при изменении, только вместо изменения будет удаление.

При добавлении новой записи в дочернее отношение или редактирование в нём существующей записи, возможно, выбрать 1 из вариантов:

1. Не позволяет изменить запись, если значение индексного выражения дочернего отношения не соответствует одной из записей в родительском отношении

2. При вводе данных дочерние отношения не анализируются значение индексного выражения. Целостность данных при этом не поддерживается.

Основы реляционной алгебры

1. Объединение: имеется r и s. t=r(объединение)s

 

A B C
P 1 A
P 2 O
Q 2 C
Q 3 A

2. Пересечение

3. Разность

4. Произведение – t=r*s k=k1+k2

A B C D E F
P 1 C Q 2 c
P 1 C Q 3 a
P 2 C Q 2 c
P 2 6 Q 3 a
Q 2 C Q 2 c
Q Q C Q 3 a

 

ràстуденты (номер зачётной книжки, фио)

sàэкзамены (код, название, дата, оценка)

тогда r*s=экзамная ведомость (

Номер зачётной  книжки ФИО
02-01 Иванов И.И
02-02 Смирнов С.С
02-05 Петров П.П

 

Код Название Дата Оценка
01 Математика 10.11.11  
02 Физика 15.11.13  
03 Ин. язык 20.11.17  

 

Студенты                                                                                      Экзамены


 

 

Номер зачётной книжки ФИО Название Дата Оценка
02-01 Иванов И.И Математика 10.11.11  
02-02 Смирнов С.С Физика 15.11.13  
02-05 Петров П.П Ин. язык 20.11.17  

 

                                                           Экзам вед

 

5. Проекция. Пусть в отношении r выделено некоторое множество атрибутов Y, тогда отношение t=Py(r) называется проекция отношения P k r

PAC(r)

A C
P a
P B
Q C


PEF(r)

E F
3 a
2 c

 

6. Выбор или Селекция. Результатом селекции отношения r по некоторому О будем считать отношение t=бO(r) которое включает в себя кортежи отношения r малая. Условия О это формула по которой определяется выборка. Операндами в такой формуле являются атрибуты отношения t, а знаками операции логические и операции отношений

 

Для функционирования СУБД необходимо хранить:

1. Сроки отношений

2. Управляющие структуры

3. Журнальную информацию

4. Служебную информацию

Технология доступа к БД:

1. Определяется искомая запись, для извлечения которой вызывается диспетчер файлов

2. Диспетчер файлов определяет страницу, на которой находится искомая запись и для извлечения запрашивает диспетчер дисков

Страничная организация файлов СУБД

Физическая схема
Чанки
Страницы
Строки
Экстенты
Страницы Blob-объектов

 

 


Страницы – основная единицы осуществления операция ввода/вывода

Чанки – представляет собой часть диска, физическое пространство, на диске которое, ассоциировано 1 процессу

Экстенты – непрерывная область дисковой памяти

Страницы Blob-объектов – предназначены для хранения слабоструктурированной информации содержащей тексты большого объёма, графическую информацию двоичные коды

Индексный файл – это файл особого типа, в котором каждая запись состоит из 2 значений данных и указателя. Данные предоставляют поле, по которому производится индексирование, а указатель осуществляет связывание с соответствующим кортежем индексированного файла. Если индексирование производится по ключевому полю, то индекс называется первичным и не содержит дубликатов ключа.

Основное преимущества использования индексов заключается в значительном ускорении процесса выборки данных.
Основной недостаток замедления процесса обновления данных.

1. Индексы позволяют осуществлять последовательный доступ к индексированному файлу в соответствии со значением индексного поля для составления запросов на поиск наборов записей.

2. Осуществлять прямой доступ к отдельным записям индексированного файла на основе заданного значения индексного поля для составления запросов для заданных значений индекса

3. Организовать запросы не требующие обращения к индексированному файлу, а лишь приводящие проверки наличия данного значения в индексном файле

В зависимости от организации индексной и основной областей различают 2 вида файлов:

1. Индексно-прямые файлы

2. Индексно-последовательные файлы

Организация индекса в виде B деревьев

Инфологические модели

Модели представления хорошо структурированной информации Модели представления слабо структурированной информации
IDEF – модели Дескрипторные модели
Диаграммы потоков данных Семантические сети. Тезаурусы
ER - модели Фреймы

 

Методы сбора фактов

1. Изучение документации

2. Собеседование

3. Наблюдение за работой предприятия

4. Проведение исследований

5. Проведение анкетирования

Сбор и анализ требований пользователей

Спецификация требований к приложению БД:

· Описание применяемых или вырабатываемых данных

· Подробные сведенья о способах применения или выработки данных

· Все дополнительные требования к создаваемому приложению БД

Методы составления спецификаций требований:

· Технология структурного анализа и проектирования (SAD)

· Диаграммы массивов данных (DFD)

· Графики «вход-процесс-выход» (HIPO)

Модель «сущность – связь»

Модель «сущность – связь»

Сущность                         Свойство сущности                                          Связь

Семантическая основа ER модели:

1. Совокупность взаимосвязанных объектов, сведенья которых должны быть помещены в БД может быть представлена как совокупность сущностей

2. Каждая сущность обладает характеристическим свойствами (атрибутами), отличающими её от других сущностей и позволяющими её идентифицировать.

3. Сущности можно классифицировать по типам сущностей

4. Систематизация представления, основанная на классах

5. Предполагает иерархическую зависимость типов (сущность типа А является подтипом сущности B, если каждый экземпляр типа А является экземпляром сущности типа B)

6. Взаимосвязи объектов могут быть представлены как связи – сущности, которые служат для фиксирования взаимозависимости 2 или нескольких сущностей

 

           

Свойство

Множественно-единичным Простое составное Базово-производное Условное Статистическое, Динамическое
Специальность Адрес Количество Ин.яз  
  Город   Сотрудник  
  Улица      
  Дом      

                       

Типы и подтипы

Сотрудник
ФИО
Таб. номер
Рабочий
Программист
Системная программ
Системный программист
Прикладной программист
Язык программирования

 

 


ER диаграмма

Сущности. Каждый тип сущности в ER диаграммах представляется в виде прямоугольника содержащего имя сущности. В качестве имени обычно используются существительные или обороты существительного в единственном числе, для отражения сущности слабых типов используются прямоугольники, стороны которых рисуются двойными линиями.

Свойства – служат для уточнения идентификации характеристики или выражения состояния сущности или связи. Свойства отображаются в виде эллипсов содержащих имя свойства. Эллипс соединяется с соответствующей сущностью связью линией. Имена ключевых свойств подчеркиваются. Контур эллипса рисуется двойной линией если свойство многозначное. Если свойство производное рисуется штриховой линией. Соединяются пунктирной линией если свойство условное. Если свойство составное то составляющие его свойства отображаются другими эллипсами соединёнными с эллипсом составного.

 

 

Отдел
 
Состав
Сотрудник
Таб. номер
ФИО
Год рождения
Специальность
Иностранный язык
Адрес
Город
Улица
Дом
Подчинение
Подчинённый
Участник
Руководитель
Проект
Реализация проекта
Деталь
Состав
Объём
Количество
Объём поставок
Имя поставщика
Статус поставщика

 

 


 

 

Связи – это графически изображаемая ассоциация, устанавливаемая между сущностями, отображается в виде ромба с именем связи внутри. Обычно используются отглагольные существительные.

Стороны ромба рисуются двойными линиями, если эта связь сущности слабого типа с сущностью от которого она зависит (подчинениеàподчинённый).

Двойная линия обозначает полное участие сущности в связи с данной стороны.

Связь может быть модифицирована указанием роли.

Тип связи указывается с индексами 1 или М (множество).

Процесс нормализации

Различают 1 нормальную форму, 2 нормальную форму, 3 нормальную форму, НФБК, 4 нормальную форму, 5 нормальную форму.

1,2,3 нф ограничивают зависимость не первичных атрибутов от ключей

НФБК ограничивает зависимость первичных атрибутов

4 нф формулирует ограничения на виды многозначных зависимостей

5 нф вводит другие типы зависимостей: зависимости соединений

Нормализация отношений – процесс перехода от нормальной формы более низкого уровня к нф более высокого уровня

Номер зачетной книжки к/г ФИО студента Код группы ФИО старосты Куратор
20-201 Иванов С.И. 20-11 Рябов В.С. Доцент Фок И.И.
20-205 Петров Я.Р. 20-12 Сизов М.Н. Доцент Докин С.С.
20-217 Рябов В.С. 20-11 Рябов В.С. Доцент Фок И.И.
20-211 Сенова А.С. 20-11 Рябов В.С. Доцент Фок И.И.

Отношение СТУДЕНТ                                                               Отношение ГРУППА

Номер зачетной книжки к/г ФИО студента Код группы
20-201 Иванов С.И. 20-11
20-205 Петров Я.Р. 20-12
20-217 Рябов В.С. 20-11
20-211 Сенова А.С. 20-11
Код группы ФИО старосты Куратор
20-11 Рябов В.С. Доцент Фок И.И.
20-12 Сизов М.Н. Доцент Докин С.С.
20-11 Рябов В.С. Доцент Фок И.И.
20-11 Рябов В.С. Доцент Фок И.И.


Аномалия удаление – при удаление элемента в кортеже (строке) удаляется весь кортеж.

Аномалия модификации –

Требования к БД:

1. Множества отношений должны обеспечивать минимизацию

2. Назначенные для отношения ключи должны быть минимальными

3. При выполнения операции удаления, включения, модификации не должно быт аномалий

4. Перестройка наборов отношения при изменения структуры какого либо отношения должна быть минимальной

5. Разброс времени выполнения запросов в БД должен быть не большим

Отношение рождение

Имя Дата рождения
Аня 5.03.1976
Саша 25.01.1977
Ольга 1.11.1977
Фёдор 14.09.1976

Если значение атрибута Дата рождения предполагается использовать целиком, то в этом случае данное отношение находится в 1 нормальной форме. Если бы потребовалось выделить и отдельно использовать год, число, месяц, то это отношение не находилось бы в 1 нормальной форме. Так как требуемые данные являются только частями значения атрибута Дата рождения. Чтобы перевести такое отношение в 1 нормальную форму, атрибут Дата рождения должен быть разбит на части.

Имя День рождения Месяц рождения Год рождения
Аня 5 03 1976
Саша 25 01 1977
Ольга 1 11 1977
Фёдор 14 09 1976

 

Используя 1 таблицу узнать зодиака будет сложнее, потому что в знаке зодиака год не нужен. А во второй таблице можно использовать только день и месяц и узнать знак зодиака.

Имя Пол
(Саша, Федор) Мужской
Ольга Женский

Данная таблица не нормализована

Чтобы представить в 1 нф нужно:

Имя Пол
Саша Мужской
Федор Мужской
Ольга Женский

 

Если окажется что имя Саша, то нужно менять столбец имени и перемещать имя Саша. А в нормализованной нужно просто поменять пол.

Следует нормализовать все таблицы, но это приводит к более большому весу файла (избытку информации), что приводит к аномалиям.

Отношение Преподавание дисциплин

Индекс дисциплины Название предмета Количество часов Код лектора ФИО лектора Должность
ЕНФ 02 Инф-ка 54 001 Иванов И.И Доцент
ЕНФ 02 Инф-ка 54 002 Петров Т.Т Стар. преподаватель
ОПДФ 08 ОС 102 003 Сур М.И Доцент
ОПДФ 08 ОС 102 001 Иванов И.И Доцент
ОПДФ 08 ОС 102 002 Петров Т.Т Стар. преподаватель
СД 03 ООП 54 001 Иванов И.И Доцент
СД 03 ООП 54 002 Петров Т.Т Стар. преподаватель

Поскольку инф-ка ведут 2 лектора, поэтому пришлось создать 2 кортежа продублировав некоторую информацию. Так же поступили с ОС.

Нужно привести ко 2 нф.

Процесс приведения отношения ко 2 нф:

1. Атрибут называется посторонним для функциональной зависимости ХàY если он может быть удалён из правой или левой части функциональной зависимости без изменения транзитивного замыкания F+ множества F.

2. Функциональная зависимость ХàY называется редуцированная слева (или справа) если X (Y) не содержит атрибута Z постороннего для функциональной зависимости ХàY. Зависимость редуцированная слева и справа называется просто редуцированной. Если функциональная зависимость ХàY редуцированная слева то Y является полностью зависящим от Х, в противном случае Y частично зависит от Х. Удаление посторонних атрибутов начинается слева а потом справа. Если после этого исключить зависимость вида Х от зачёркнутого О, то посторонних атрибутов больше не останется.

Для данной схемы отношение атрибут А, R и множества функциональных зависимостей F на R атрибута А называется первичным в R относительно F, если А содержится в каком-нибудь ключе схемы R в противном случае А называется не первичным R.

Книги ISBN Название Автор Издательство Место издания Год издания Количество страниц
Инфологическая модель заданной предметной области

Читатели № читального билета ФИО Дата рождения Пол Телефон домашний Телефон рабочий

 


Экземпляры Инвентарный номер Наличие в библиотеке Дата взятия Дата возврата
                                                                                                                         Держит на руках

 


Имеет сведения из            Относится к

Связана                 Имеется в                                                              Находится у    Держит

Сведенья содержатся в

Систематический каталог Код области знаний Наименование области знания

 

 


Поставки (Номер поставщика, товар, цена)

(Номер поставщика, товар à цена)

ТоварàЦена

Поставки (номер поставщика, товар)

Цена товара (товар, цена)

3 нормальная форма:

Если АàB, Bà(перечёркнуто)A (В не является ключом) BàC, то AàC

(Номер врача, номер пациента, дата, ФИО пациента, адрес пациента, ФИО врача, лечение, лекарство, побочный эффект)

(Номер врача, номер пациента, дата)

Разделить на 3 группы во 2 нф:

Врач (номер врача, ФИО врача)
Пациент (номер пациента, ФИО пациента, адрес пациента)
Лечение (номер врача, номер пациента, дата, лечение, лекарство, побочный эффект)

ЛекарствоàПобочный эффект

Трудности которые могут возникнуть при таком делении:

1. Нельзя добавить лекарство если оно не назначено ни одному пациенту

2. При изменение побочного эффекта лекарства, нужно просмотреть всю БД для корректного изменения данных

Преобразование отношения в 3 нф устраняет эти 2 аномалии.

Схема отношения находится в 3нф относительно множества функциональных зависимостей F, если она находится в 1 нф и не один из не первичных атрибутов B не является транзитивно зависимым от ключа для R. Схема всей БД находится в 3 нф относительно F, если каждая схема отношения находится в 3 нф относительно F.

Нормализованная БД в 3 нф:

Врач (номер врача, ФИО врача)
Пациент (номер пациента, ФИО пациента, адрес пациента)
Лечение (номер врача, номер пациента, дата, лечение, лекарство)
Лекарство (лекарство, побочный эффект)

Нормализация посредством синтеза:

R={Ri,…, Rp} над R

Свойства:

1. Множества F полностью характеризуются с помощью R

2. Каждое схема отношения Ri из R находится в 3 нф

3. Не существует схема БД с меньшим числом атрибутов, чем R удовлетворяющим 1 и 2 свойству

4. Любое отношения r(R) удовлетворяющего F

НФБК (нормальная форма бойса кода) – отношение находится в НФБК, если она находится в 3 нф и в нём отсутствуют зависимости ключей (атрибутов составного ключа) от не ключевых атрибутов  

Современные СУБД

Современные реляционные СУБД:

1. Microsoft Visual FoxPro

2. MS SQL Server

3. Access

MariaDB — ответвление СУБД MySQL, разрабатываемое сообществом. MariaDB является фактически альтернативой MySQL СУБД, которую разрабатывает автор MySQL Michael "Monty" Widenius. Основная цель проекта MariaDB - создание полностью бинарно совместимой с оригинальной MySQL версии СУБД, которая при этом будет иметь значительное количество улучшений в коде, влияющих на производительность. MariaDB разрабатывается как drop-in замена для MySQL, полностью имитируя поведение MySQL.

Почему вообще Monty решил сделать клон своего же детища? Дело в том, что права на MySQL принадлежат компании MySQL AB, которую сначала купили Sun Microsystems, а затем уже Sun продались корпорации Oracle. В итоге Monty решил уйти из Oracle и сделать, в некотором смысле, MySQL "на стероидах".

MariaDB построена на кодовой базе проекта MySQL и распространяется под лицензией GPL v2.

MariaDB представляет собой систему управления реляционными базами данных с открытым исходным кодом и несколькими потоками.



Поделиться:


Читайте также:




Последнее изменение этой страницы: 2019-05-19; просмотров: 240; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.135.219.166 (0.27 с.)