Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Методы проектирования реляционных БД. Метод нормальных форм.Содержание книги
Поиск на нашем сайте
1. Функциональные 2. Транзитивные 3. Многозначные Атрибут B функционально зависит от атрибута А, если каждому значению А соответствуют в точности одно значение B. АàB Это означает что все кортежи со знаком В атрибут А будет иметь тоже значение. AßàB AàB BàC = AàBàC – транзитивные ФИО<=>Предмет Пусть задано отношение со схемой R(A1, A2, A3)
Априори известно, что в R существуют функциональные зависимости A1àA2 и A2àA3. Анализируя отношения можно увидеть, что в нём ещё существуют зависимости A1àA3, A1A2àA3, A1A2A3àA1A2… Взаимно независимые атрибуты – не один из этих атрибутов не является функционально зависимым от других атрибутов. Отсутствие зависимости А1 от А2 объясняется тем что одному и тому же атрибуту А2(21) соответствует разные значения атрибута А1(12, 17) Процесс нормализации Различают 1 нормальную форму, 2 нормальную форму, 3 нормальную форму, НФБК, 4 нормальную форму, 5 нормальную форму. 1,2,3 нф ограничивают зависимость не первичных атрибутов от ключей НФБК ограничивает зависимость первичных атрибутов 4 нф формулирует ограничения на виды многозначных зависимостей 5 нф вводит другие типы зависимостей: зависимости соединений Нормализация отношений – процесс перехода от нормальной формы более низкого уровня к нф более высокого уровня
Отношение СТУДЕНТ Отношение ГРУППА
Аномалия модификации – Требования к БД: 1. Множества отношений должны обеспечивать минимизацию 2. Назначенные для отношения ключи должны быть минимальными 3. При выполнения операции удаления, включения, модификации не должно быт аномалий 4. Перестройка наборов отношения при изменения структуры какого либо отношения должна быть минимальной 5. Разброс времени выполнения запросов в БД должен быть не большим Отношение рождение
Если значение атрибута Дата рождения предполагается использовать целиком, то в этом случае данное отношение находится в 1 нормальной форме. Если бы потребовалось выделить и отдельно использовать год, число, месяц, то это отношение не находилось бы в 1 нормальной форме. Так как требуемые данные являются только частями значения атрибута Дата рождения. Чтобы перевести такое отношение в 1 нормальную форму, атрибут Дата рождения должен быть разбит на части.
Используя 1 таблицу узнать зодиака будет сложнее, потому что в знаке зодиака год не нужен. А во второй таблице можно использовать только день и месяц и узнать знак зодиака.
Данная таблица не нормализована Чтобы представить в 1 нф нужно:
Если окажется что имя Саша, то нужно менять столбец имени и перемещать имя Саша. А в нормализованной нужно просто поменять пол. Следует нормализовать все таблицы, но это приводит к более большому весу файла (избытку информации), что приводит к аномалиям. Отношение Преподавание дисциплин
Поскольку инф-ка ведут 2 лектора, поэтому пришлось создать 2 кортежа продублировав некоторую информацию. Так же поступили с ОС. Нужно привести ко 2 нф. Процесс приведения отношения ко 2 нф: 1. Атрибут называется посторонним для функциональной зависимости ХàY если он может быть удалён из правой или левой части функциональной зависимости без изменения транзитивного замыкания F+ множества F. 2. Функциональная зависимость ХàY называется редуцированная слева (или справа) если X (Y) не содержит атрибута Z постороннего для функциональной зависимости ХàY. Зависимость редуцированная слева и справа называется просто редуцированной. Если функциональная зависимость ХàY редуцированная слева то Y является полностью зависящим от Х, в противном случае Y частично зависит от Х. Удаление посторонних атрибутов начинается слева а потом справа. Если после этого исключить зависимость вида Х от зачёркнутого О, то посторонних атрибутов больше не останется. Для данной схемы отношение атрибут А, R и множества функциональных зависимостей F на R атрибута А называется первичным в R относительно F, если А содержится в каком-нибудь ключе схемы R в противном случае А называется не первичным R.
Имеет сведения из Относится к Связана Имеется в Находится у Держит Сведенья содержатся в
Поставки (Номер поставщика, товар, цена) (Номер поставщика, товар à цена) ТоварàЦена Поставки (номер поставщика, товар) Цена товара (товар, цена) 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 представляет собой систему управления реляционными базами данных с открытым исходным кодом и несколькими потоками. Ведущим разработчиком MariaDB является Майкл «Монти» Видениус, который является одним из основателей MySQL AB. Кодовая база MariaDB постоянно обновляется и соответствует наработкам MySQL для всех версий РСУБД, поэтому её скачали уже более миллиона пользователей по всему миру. Успех MariaDB как ведущей базы данных объясняется не только открытым исходным кодом, но и его надежностью, производительностью и функциями В большинстве случаев, MariaDB будет работать идентично MySQL: все команды, интерфейсы взаимодействия, библиотеки и API, которые уже существуют для MySQL, реализованы и в MariaDB. Нет необходимости конвертировать Ваши данные при переносе их в MariaDB. MariaDB является полноценной заменой MySQL! Дополнительно MariaDB серьезно расширяет доступный функционал. Вы можете ознакомиться с новшествами и начать использовать их. Во-первых, это ряд новых движков (database engine) для хранения данных. А именно: Aria - альтернатива таблицам MyISAM, более быстрая и устойчивая к сбоям. Таблицы Aria используются в MariaDB для внутренних нужд, в частности все temporary tables работают именно на движке Aria, за счет чего в ряде случаев получилось добиться значительно большей производительности на сложных запросах. Во-вторых, есть функция, которая отличает его от своих предшественников, - это особый акцент на безопасности. Когда обнаружены критические проблемы безопасности, наши инженеры немедленно готовят и распространяют новую версию MariaDB как можно быстрее. Кроме того, в MariaDB отлично масштабируется и способен обрабатывать десятки тысяч таблиц и миллиардов строк данных. Он также может быстро и плавно управлять небольшими объемами данных, что делает его удобным для небольших предприятий или личных проектов. Так же в MariaDB появился новый способ доступа к данным InnoDB - HandlerSocket. HandlerSocket в каком-то смысле является альтернативой memcached. Через интерфейс HandlerSocket с данными в таблицах InnoDB (XtraDB) можно работать как с набором данных "ключ-значение", где в качестве ключа выступает любой из индексов, созданных по любой из InnoDB-таблиц. По скорости работы HandlerSocket практически не уступает memcached и некоторые источники даже сообщают, что им удалось добиться большей, чем с memcached, производительности. Преимущества по сравнению с MySQL: · Больше механизмов хранения данных · Улучшенная производительность · Безопасность · Расширения и новые возможности · Улучшенное тестирование · Меньше предупреждений и ошибок · Настоящий Open Source Улучшенное тестирование · Больше тестов в тестовых сериях. · BUG'и в исходном коде устраняются при тестировании. · Больше тестовых сборок с различными опциями сборки MariaDB, для качественного тестирования особенностей продукта. · Убраны некоторые серии тестов (например, нет необходимости тестировать функционал X, если этот функционал нигде не используется в тестируемой версии). Настоящий Open Source · Весь исходный код MariaDB распространяется под лицензиями GPL, LPGL или BSD. MariaDB не содержит закрытых модулей или компонентов, на подобие тех, что содержатся в Mysql Enterprise Edition. Однако, это не влияет на доступный функционал MariaDB. Все технологии, существующие в закрытой версии MySQL 5.5 Enterprise Edition, в полном объеме представлены и в MariaDB. · MariaDB включает тестовые пакеты для всех исправленных ошибок в исходном коде. Компания Oracle в свою очередь не представляет подобных тестовых пакетов для своих версий продуктов, например, MySQL 5.5. · Все BUG'и и планы развития доступны всем желающим. · MariaDB разрабатывается open source сообществом.
Классификация СУБД 1. По функциональности a. Многофункциональные СУБД – Access b. Серверы БД – MS SQL Server, ORACLE c. Клиенты БД – Обычно обеспечивают создания БД и приложений работающих с ними. Access является персональным d. Средство разработки программ работы с БД 2. По принципу a. Персональные - Обычно обеспечивают создания БД и приложений работающих с ними. (Access) b. Многопользовательские – Включает сервер БД и клиентскую часть (Oracle) Access – таблицы содержат столбцы и строки, для каждой таблицы можно задать первичный ключ, и индекс для более быстрого поиска. 1. Запрос – это объект позволяющий пользователю получать нужные данные из одной или нескольких таблиц. Можно использовать запрос по образцу (QBE) или структурированный язык запросов. С помощью запросов можно осуществлять вывод, обновление, удаление или добавление данных. Кроме того можно создавать новые таблицы используя данные уже существующих. 2. Форма – это объект предназначенный для ввода данных, отображения их на экране или для управления работой приложения. С помощью форм могут быть реализованы требования пользователей для предоставления данных из запросов или таблиц (могут быть распечатаны). 3. Отчёт – объект предназначенный для создания документа. Отчет можно посмотреть на экране, распечатать или включить в документ другого приложения. 4. Макрос – описание 1 или нескольких действий которое выполняется в ответ на определённое событие. Можно осуществлять проверку поля при введение значения в него, можно макросом запустить другой макрос и т.д. 5. Модуль – объект содержащий программу на MS Access Basic которая позволяет разбить процесс на более мелкие действия и обнаружить ошибки, которые нельзя найти при использование макроса. Модули могут быть независимыми объектами содержащими функциями, которые можно вызвать из любого места приложения, но они могут быть непосредственно привязаны к отдельным формам или отчётам для реакции на те или иные происходящие в них изменения. Стоит создавать новую БД в случаях: 1. Таблица содержит много данных
2. БД логически не связаны
3. БД сетевая
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Последнее изменение этой страницы: 2019-05-19; просмотров: 199; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.117.119.34 (0.009 с.) |