Базы данных БГУИР, 3ЛР. БД 3. Лабораторная работа 2 по теме Доработка модели базы данных, часть 1 Студент гр. 051091 Руководитель Минск 2022 Задание
Скачать 0.81 Mb.
|
Министерство образования Республики Беларусь Учреждение образования «Белорусский Государственный Университет Информатики и Радиоэлектроники» Кафедра программного обеспечения информационных технологий Факультет компьютерных систем и сетей Дисциплина: Базы данных Лабораторная работа № 2 по теме «Доработка модели базы данных, часть 1» Студент гр. 051091 Руководитель Минск 2022 Задание Проанализируйте модели базы данных «Банк» (исходный вариант (см. ниже) и вариант, изменённый в предыдущей работе). Для обоих вариантов базы данных выполните следующие задачи: Какие каскадные операции необходимы в этой базе данных? Опишите их. Существует ли возможность аномалий операций вставки, обновления, удаления данных? Составьте список таких случаев и внесите в базу данных исправления, позволяющие избежать таких аномалий. Можно ли использовать схемы «звезда» или «снежинка» с этой базой данных, чтобы избежать некоторых аномалий операций с данными? Переработайте схему, сравните новую с исходной и составьте список аномалий работы с данными, которые были устранены (или, наоборот, появились). Составьте список всех функциональных зависимостей в базе данных. Существуют ли отношения, имеющие многозначные зависимости? Если «да», как можно переработать схему, чтобы избежать таких зависимостей? Нарушает ли схема какие-либо «требования нормализации»? Если «да», доработайте схему, чтобы избежать таких нарушений. Существуют ли какие-либо потенциальные проблемы с производительностью базы данных? Если «да», запишите их. Для каждого отношения в базе данных определите, в какой нормальной форме оно находится. Запишите ответ. Рисунок 1 – Исходная концептуальная модель базы данных Рисунок 2 – Исходная даталогическая модель для MS SQL Server Рисунок 3 – Изменённая концептуальная модель базы данных Рисунок 4 – Изменённая даталогическая модель базы данных для СУБД MySQL При удалении владельца аккаунта необходимо удалить все принадлежащие ему паспорта, а также пометить все его аккаунты как замороженные. Возможность аномалий операций вставки, обновления, удаления данныхВ таблице «Office» могут возникнуть аномалии модификации, при изменении поля «City». Аналогично в таблице «Passport» могут возникнуть аномалии модификации в полях «Nationality» и «Issued by». Для того чтобы избежать данных аномалий соответствующие поля следует вынести в отдельные таблицы. Изменения представлены на рисунке 5. Рисунок 5 – Схема базы данных после вынесения полей, которые могут привести к возникновению аномалий в отдельные таблицы Возможность использования схемы «звезда» или «снежинка» с этой базой данныхИсходная база данных по своей структуре уже соответствует схеме «снежинка» если принять таблицу «Account» или «Account Owner» как таблицу фактов. Единственным исключением является таблица «City», внесённая на прошлом шаге для устранения возможных аномалий модификации данных. Список всех функциональных зависимостей в базе данныхTransaction: {Id}→{Sum} {Id}→{DateTime} {Id}→{SourceAccount} {Id}→{DestinationAccount} {Id}→{SourceCurrency} {Id}→{DestinationCurrency} {Id}→{TransactionState} TransactionState {Id}→{Name} Account: {IBAN}→{Balance} {IBAN}→{AccountOwner} {IBAN}→{AccountStatus} {IBAN}→{Currency} {IBAN}→{Account_2_AccountType}→{Id} Account Type: {Id}→{Name} Account Status: {Id}→{Name} Currency: {Id}→{Name} Account Owner: {Id}→{Name} {Id}→{Contact Phone Number} {ID}→{Corporate Adress} {Id}→{PhysicalAdress} {Id}→{AccountOwner_2_Passport}→{PassportNumber} Account Owner Type: {Id}→{Name} Passport: {PassportNumber}→{PersonalNumber} {PassportNumber}→{IssuedOn} {PassportNumber}→{ExpiresOn} {PassportNumber}→{CurrentlyValid} {PassportNumber}→{IssuedBy} {PassportNumber}→{Nationality} Nationality: {Id}→{Name} PassportAuthority: {Id}→{Name} {Id}→{Adress} {Id}→{City} City: {Id}→{Name} Office: {Id}→{Name} {Id}→{TotalSalesSum} {Id}→{City} Site Page: {Id}→{Name} {Id}→{ParentPage} Многозначные зависимостиОтношений, имеющих многозначные зависимости в данной базе данных обнаружено не было. Нарушения требований нормализацииНарушений требований нормализации в схеме базы данных обнаружено не было. Существуют ли какие-либо потенциальные проблемы с производительностью базы данных? Если «да», запишите их.Во всех первичных ключах базы данных используются значения типа «BIGINT». В зависимости от фактического количества сущностей которые будут находиться в конечной базе данных в процессе эксплуатации может иметь смысл уменьшить размер первичных ключей. Для каждого отношения в базе данных определите, в какой нормальной форме оно находится. Запишите ответ.Transaction: 3NF TransactionState: 3NF Account: 3NF Account Type: 3NF Account Status: 3NF Currency: 3NF AccountOwner: 3NF AccountOwner Type: 3NF Passport: 2NF Nationality: 3NF PassportAuthority: 3NF City: 3NF Office: 3NF SitePage: 3NF |