Главная страница
Навигация по странице:

  • 5. Логическое проектирование БД Определим ключи отношений. Номер тома

  • Номер тома

  • Номер марки

  • Тема серии

  • 6. Физическое проектирование БД

  • 7. Разработка подсистемы безопасности

  • 8. Описание интерфейса приложения

  • Построение организационной структуры. КР БД 8 вариант. Содержание информационнологическое (Инфологическое) проектирование бд. 6 Определение требований к операционной обстановке 8 Заключение 40 Список литературы 41 Введение


    Скачать 2.02 Mb.
    НазваниеСодержание информационнологическое (Инфологическое) проектирование бд. 6 Определение требований к операционной обстановке 8 Заключение 40 Список литературы 41 Введение
    АнкорПостроение организационной структуры
    Дата13.02.2023
    Размер2.02 Mb.
    Формат файлаdocx
    Имя файлаКР БД 8 вариант.docx
    ТипРеферат
    #934652
    страница3 из 4
    1   2   3   4



    СУБД

    Тип модели данных, которую поддерживает СУБД

    Характеристики производительности

    Запас возможностей СУБД для дальнейшего развития информационной системы

    Оснащен ность инструментарием

    Удобство и надежность СУБД

    Microsoft SQLServer

    реляционный

    Одна из наиболее мощных систем работы с базами данных в архитектуре "клиент-сервер". Увеличенный размер страниц

    (Увеличенный до 8 КБ размер страниц способствует быстрому извлечению данных, позволяет использовать строки и столбцы большего размера, что открывает возможность эффективного хранения сложных, подробных данных). Динамическое блокирование на уровне строк

    (Менеджер блокировок динамически адаптирует алгоритм использования ресурсов в больших базах данных, что делает продукт наиболее пригодным для интерактивной обработки транзакций (online transaction processing - OLTP) и создания хранилищ данных).

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

    В своем составе система имеет средства создания баз данных, работы с информацией баз данных, перенесения данных из других систем и в другие системы, резервного копирования и восстановления данных, развитую систему транзакций, систему репликации данных, реляционную подсистему для анализа, оптимизации и выполнения запросов клиентов, систему безопасности для управления правами доступа к объектам базы данных

    Высокая производительность. Поддержка постоянной памяти (RMEM). Интеллектуальная обработка запросов. Безопасность и соответствие основным и часто встречающимся требованиям. Средства профилирования и настройки

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

    OpenOffice.org Base

    реляционный

    OpenOffice.org Base является некоммерческим аналогом СУБД

    Microsoft Access.

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

    Совместимый интерфейс пользователя. Все компоненты имеют интуитивно понятный интерфейс, созданный для использования как новичком, так и мастером. Модульность. Все компоненты совместно используют общий модуль проверки орфографии и другие инструменты, которые используются одинаково во всем наборе. Например, инструменты рисования, доступные в Writer, также можно обнаружить в Calc, подобные, но более развитые версии в Impress и Draw.

    Отсутствие лицензионной платы. Открытые исходные тексты. Межплатформенность. Обширная языковая поддержка. OOo 2.0 использует OpenDocument, XML (eXtensible Markup Language) формат файла, разработанный OASIS (Организация для продвижения структурированных информационных стандартов) как промышленный стандарт. Данные файлы могут легко быть разархивированы и прочитаны в любом текстовом редакторе, их структура открыта и опубликована

    Interbase/Firebird

    реляционный

    Соответствие требованиям ACID. Firebird сделан специально, чтобы удовлетворять требованиям «атомарности, целостности, изоляции и надёжности» транзакций («Atomicity, Consistency, Isolation and Durability»).

    библиотеки с UDF (User Defined Function) могут быть написаны на любом языке и легко подключены к серверу в виде DLL/SO, позволяя расширять возможности сервера «изнутри» и другие возможности данной субд, предполагают дальнейшее развитие информационной системы.

    СУБД содержит основные функции для работы с БД.

    Хранимые процедуры. Резервное копирование, без необходимости выключение серверов. Большое количество поддерживаемых наборов символов. Полный контроль за транзакциями.

    MySQL

    реляционный

    MySQL является системой клиент-сервер, которая содержит многопоточный SQL-сервер, обеспечивающий поддержку различных вычислительных машин баз данных, а также несколько различных клиентских программ и библиотек, средства администрирования и широкий спектр программных интерфейсов (API).

    MySQL может работать с действительно большими объёмами данных, и неплохо походит для масштабируемых приложений.

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

    в MySQL встроено много функций безопасности.

    PostgreSQL

    реляционный

    Функции в PostgreSQL являются блоками кода, исполняемыми на сервере, а не на клиенте БД. Хотя они могут писаться на чистом SQL, реализация дополнительной логики, например, условных переходов и циклов, выходит за рамки собственно SQL и требует использования некоторых языковых расширений. Функции могут писаться с использованием различных языков программирования.

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

    Оснащённость системы инструментарием для персонала администрирования данным представлена в полном объеме. PostgreSQL содержит в себе все необходимые функции и возможности, необходимые для комфортного администрирования данными.

    Огромный набор типов данных. Поддержка NLS(Native Language Support) - документация, сообщения об ошибках доступны на различных языках, включая японский, немецкий, итальянский, французский, русский, и т.д.. Удобство эксплуатации PostgreSQL обеспечено, поскольку простота использования всегда являлась важным фактором для разработчиков.

    Далее описаны подробные характеристики выбранной СУБД – Firebird/Interbase.

    Firebird — свободная кроссплатформенная реляционная система управления базами данных, работающая на macOS, Linux, Microsoft Windows и некоторых Unix-платформах.

    Firebird поддерживает большие базы данных. Базы данных могут быть расположены в нескольких файлах, предельный размер которых зависит от операционной системы. Теоретический предел в настоящее время составляет 64TB для одного файла базы данных, таким образом, главные ограничения накладываются файловой системой и местом на жёстком диске.

    Практически база данных объемом 1 ТБ стабильно работает, что доказывает проведенный тест.

    Максимальная длина одной записи (суммарно все поля за исключением полей с типом BLOB) равна 64 КБ.

    Следовательно, PostgreSQL позволяет создавать таблицы, больших объемов, что полностью соответствует запрашиваемому уровню БД.

    Характеристики производительности Firebird/Interbase.

    Сервер InterBase разрабатывался с учетом современных требований к производительности СУБД. В последних версиях InterBase SQL Server применен ряд технологий значительно повышающих скорость работы:

    • Поддержка симметричной многопроцессорной обработки InterBase SMP (symmetric multiprocessing) позволяет задействовать возможности многопроцессорной архитектуры при единственном серверном процессе InterBase SuperServer.

    • Поддержка технологии Hyperthreading.

    • Пакетное выполнение SQL запросов позволяет уменьшить сетевой трафик и повысить производительность.

    Определение запаса функциональных возможностей.

    InterBase и Firebird для работы с базами данных от разных версий IB/FB использует понятие ODS (OnDisk Structure, или "формат базы данных"), номер которого меняется от версии к версии. Это позволяет серверу работать с базами данных от предыдущих версий IB (так называемый Y-valve, или "мост"), и одновременно с новыми.

    Так же, с новыми версиями Firebird/Interbase появиляются новые стратегии повышения производительности, оптимизации запросов, мониторинга и масштабируемости, а также дополнительные параметры безопасности. А в язык SQL вводятся ряд популярных функций, включая поддержку типа данных Boolean и связанных с ним логических предикатов.

    Существует множество графических инструментов - свободно распространяемых и коммерческих- доступны для администрирования баз данных Firebird.

    В поставку InterBase и Firebird обязательно входит комплект утилит командной строки, которые в основном используются разработчиками и администраторами для автоматизации резервного копирования и других операций. Кроме того, эти утилиты кроссплатформенные. Для создания БД, таблиц, процедур и т. п. в InterBase и Firebird принято использовать сторонние инструменты, которые обладают высокой функциональностью – IBExpert, IBManager, IB/FB Developer Studio, DatabaseWorkbench и др. Большая часть этих инструментов бесплатны для России, а их качество, функциональность и удобство использования зачастую превышают подобные характеристики инструментов других коммерческих СУБД (например, в отношении MS SQL).

    В качестве графического инструмента разработки использован IBExpert.

    СУБД FireBird является одной из самых популярных в мире бесплатных, кросплатформенных систем управления базами данных с открытым исходным кодом. Она была разработана на основе исходного кода СУБД Interbase и развивается сегодня независимым международным сообществом. По надёжности, производительности и функциональным возможностям эта система мало в чём уступает признанным лидерам своего класса - Oracle и Microsoft SQL Server.

    В качестве преимуществ Firebird можно отметить многоверсионную архитектуру, обеспечивающую параллельную обработку оперативных и аналитических запросов (это возможно потому, что читающие пользователи не блокируют пишущих), компактность (дистрибутив 5Mb), высокую эффективность и мощную языковую поддержку для хранимых процедур и триггеров.

    В качестве удобства и надежности СУБД можно выделить: хранимые процедуры, резервное копирование, без необходимости выключение серверов. , большое количество поддерживаемых наборов символов, полный контроль за транзакциями.

    Firebird 2.5 является СУБД с открытым кодом, бесплатной для любого вида использования, в том числе коммерческого, образовательного, некоммерческого или частного. Как готовые дистрибутивы, так и исходные коды, могут быть загружены совершенно бесплатно с сайта проекта Firebird. Регистрация или активация при этом не требуется.

    Основываясь на характеристиках СУБД Firebird и критериям, по которым выбрана СУБД для базы данных, я считаю Firebird наиболее подходящим вариантом, поскольку эта СУБД содержит в себе большое количество полезных функций и инструментов, удобна в использовании.

    5. Логическое проектирование БД

    Определим ключи отношений. Номер тома – первичный ключ,Номер серии-первичный ключ, Номер марки– первичный ключ

    Далее выполним нормализацию отношений, приведя модель к 4НФ.

    Рассмотрим отношение ТОМ (Таблица 5).

    Таблица 5 - Исходное отношение ТОМ

    Номер тома

    Тема марки

    Страна

    1

    Спорт

    СССР


    2

    Искусство

    Япония

    3

    Достопримечательности

    Италия


    Отношение приведено к 4НФ, так как имеет простые атрибуты, и в нём отсутствуют тривиальные, транзитивные и функциональные зависимости.

    Рассмотрим отношение СЕРИЯ (Таблица 6).

    Таблица 6 - Исходное отношение СЕРИЯ

    Номер серии

    Тема серии

    1

    Редкие

    2

    Ценные

    3

    Старинные



    Отношение приведено к 4НФ, так как имеет простые атрибуты, и в нём отсутствуют тривиальные, транзитивные и функциональные зависимости.

    Рассмотрим отношение МАРКИ (Таблица 7).

    Таблица 7 - Исходное отношение МАРКИ

    Номер марки

    Цена

    Цвет

    Год выпуска

    Номер тома

    Номер страницы

    Размер

    Номер серии

    1

    Р. 600.00

    Синий

    1920

    1

    3

    Маленький

    1

    2

    Р. 600.00

    Красный

    1930

    2

    4

    Средний

    2

    3

    Р. 600.00

    Жёлтый


    1953

    3

    5

    Большой

    3


    Отношение приведено к 1НФ, так как имеет простые атрибуты.

    Далее преобразуем отношениеМАРКИ ко 2НФ, убрав функциональную зависимость. Выделим таблицы МАРКИ, МАРКИ-ТОМ (Таблица 8-9). Они связаны с помощью внешнего ключа: Номер марки.

    Таблица 8 – Отношение МАРКИ-ТОМ, приведённое к 4НФ

    Номер марки

    Номер тома

    1

    1

    2

    2

    3

    3

    Таблица 9 – Отношение МАРКИ, приведённое ко 2НФ

    Номер марки

    Цена

    Цвет

    Год выпуска

    Номер страницы

    Размер

    Номер серии

    1

    Р. 600.00

    Синий

    1920

    3

    Маленький

    1

    2

    Р. 600.00

    Красный

    1930

    4

    Средний

    2

    3

    Р. 600.00

    Жёлтый


    1953

    5

    Большой

    3

    Далее преобразуем отношениеМАРКИ к 3НФ, убрав транзитивную зависимость. Выделим таблицы МАРКИ, МАРКИ-СЕРИЯ (Таблица 10-11). Они связаны с помощью внешнего ключа: Номер марки.


    Таблица 10 – Отношение МАРКА-СЕРИЯ, приведённое к 4НФ

    Номер марки

    Номер серии

    1

    1

    2

    2

    3

    3

    Таблица 11 – Отношение МАРКА, приведённое к 3НФ

    Номер марки

    Цена

    Цвет

    Год выпуска

    Номер страницы

    Размер

    1

    Р. 600.00

    Синий

    1920

    3

    Маленький

    2

    Р. 600.00

    Красный

    1930

    4

    Средний

    3

    Р. 600.00

    Жёлтый


    1953

    5

    Большой

    Зададим необходимые декларативные ограничения целостности исходя из специфики предметной области:

    Для отношения МАРКА-ТОМ:

    Название атрибута

    Номер марки

    Номер тома

    Тип данных

    VARCHAR (10 б.)


    VARCHAR

    (10 б.)



    Внешний ключ

    References Марка(Номер марки)

    References Том(Номер тома)

    Первичный ключ

    -

    -

    Not Null

    +

    +



    Для отношения МАРКА-СЕРИЯ:

    Название атрибута

    Номер марки

    Номер серии

    Тип данных

    VARCHAR (10 б.)


    VARCHAR

    (10 б.)



    Внешний ключ

    References Марка(Номер марки)

    References Серия(Номер серии)

    Первичный ключ

    -

    -

    Not Null

    +

    +

    Для отношения СЕРИЯ:

    Название атрибута

    Тема серии

    Номер серии

    Тип данных

    VARCHAR (10 б.)


    VARCHAR

    (10 б.)



    Внешний ключ

    -

    -

    Первичный ключ

    -

    +

    Not Null

    +

    +

    Для отношения ТОМ:

    Название атрибута

    Номер тома

    Страна

    Тема марки

    Тип данных

    VARCHAR

    (10 б.)

    VARCHAR (15 б.)

    VARCHAR (15 б.)

    Внешний ключ

    -

    -

    -

    Первичный ключ

    +

    -

    -

    Not Null

    +

    +

    +

    Для отношения МАРКА:

    Название атрибута

    Номер марки

    Цена

    Год выпуска

    Цвет

    Размер

    Номер страницы

    Тип данных

    VARCHAR (10 б.)

    INT (4 б.)

    INT (4 б.)

    VARCHAR (10 б.)

    VARCHAR (10 б.)

    VARCHAR (10 б.)

    Внешний ключ

    -

    -

    -

    -

    -

    -

    Первичный ключ

    +

    -

    -

    -

    -

    -

    Not Null

    +

    +

    +

    +

    +

    +

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



    Рисунок 2 - связи между первичными и внешними ключами

    6. Физическое проектирование БД

    В качестве примера для физического проектирования была взята БД «Марки».

    Построение физической модели БД производилось на основе логической модели.

    Средствами СУБД создана спроектированная база данных, ее таблицы, заданы необходимые ограничения целостности, и создадим обычные индексы для столбцов, которые являются внешними ключами, часто встречающиеся в критериях поиска, индексы создаём с помощью команды с помощью команды «CREATE INDEX test1_id_index ON test1 (id);». Здесь мы использовали тип индекса – B-дерево. Из всех типов индексов, которые поддерживает FireBird, сортировать данные могут только B-деревья – индексы других типов возвращают строки в неопределённом, зависящем от реализации порядке (рисунки 3-7).





    Рисунок 3 - Таблица Марки и созданный индекс





    Рисунок 4 - Таблица Том и созданный индекс





    Рисунок 5 – Таблица Серия и созданный индекс





    Рисунок 6 - Таблица Марки-серия и созданный индекс





    Рисунок 7 - Таблица Марки-том и созданный индекс

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

    Для уменьшения времени на выполнение запроса используются индексы.

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

    В системах, поддерживающих язык SQL, индекс создаётся командой CREATE INDEX. Индексы повышают производительность запросов, которые выбирают относительно небольшое число строк из таблицы. Для определения целесообразности создания индекса нужно проанализировать запросы, обращённые к таблице, и распределение данных в индексируемых столбцах.

    Далее посчитаем, сколько по времени проходят запросы по добавлению, обновлению, удалению и выборке (Таблица 13-14).

    Таблица 12 – время выполнения запросов без индексации




    INSERT

    SELECT

    UPDATE

    DELETE

    Марка

    56 мc

    50 мс

    51 мс

    58 мс

    Том

    67 мс

    45 мс

    65 мс

    59 мс

    Серия

    67 мс

    72 мс

    71 мс

    65 мс

    Марка том

    56 мс

    45 мс

    49 мс

    48 мс

    Марка серия

    57 мс

    58 мс

    53 мс

    56 мс


    Таблица 13 – Время выполнения запросов с индексацией




    INSERT

    SELECT

    UPDATE

    DELETE

    Марка

    48 мc

    37 мс

    43 мс

    47 мс

    Том

    57 мс

    36 мс

    57 мс

    47 мс

    Серия

    54 мс

    63 мс

    67 мс

    54 мс

    Марка том

    45 мс

    37 мс

    41 мс

    39 мс

    Марка серия

    48 мс

    45 мс

    43 мс

    44 мс

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

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

    7. Разработка подсистемы безопасности

    Создание ролей.

    В данной базе данных выделим две локальные области — это «Коллекционер», «Посетитель».

    Пользователь коллекционер может делать выборку, удаление, добавление, изменение во всех таблицах БД.

    Пользователь посетитель может делать только выборку во всех таблицах БД.

    На рисунке 8 представлено создание роли коллекционер и присвоение ей привилегий.



    Рисунок 8 - Создание роли admin600 и присвоение привилегии

    На рисунке 9 представлено создание роли для посетителя posetitel3 и присвоение ей привилегий.



    Рисунок 9 - Создание роли posetitel3 и присвоение ей привилегий

    Защита данных на уровне строк.

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



    Рисунок 10 - Защита на уровне строк

    8. Описание интерфейса приложения

    Создадим проект на Visual Studio 2019, выбрав шаблон проекта Windows Forms и язык программирования С#.

    Скачаем IBProvider во вкладке «Управление пакетами NuGET». IBProvider – это провайдер для доступа к Firebird и InterBase в качестве OLE DB драйвера с открытым исходным кодом ADO.NET Поставщик данных для Firebird Server, он позволяет программам, написанным на C#, Visual Basic, F#, получать доступ к серверу баз данных Firebird Server. Он реализован на 100% в коде C#, является бесплатным и с открытым исходным кодом. Благодаря нему, мы сможем подключить таблицы к DataGridView и совершать какие нам вздумаются действия.

    Реализуем форму авторизации, для разграничения доступа между коллекционером, посетителем (Рисунок 11). Для того чтобы войти в систему, коллекционеру нужно ввести логин admin2 и пароль admin2.



    Рисунок 11 – Окно авторизации и вход в окно коллекционера

    И перед нами окно для коллекционера. Он может добавлять, изменять, удалять и осуществлять выборку над всеми данными таблиц. Для начала добавим новую марку (Рисунок 12). А потом мы увидим результат на рисунке 13.



    Рисунок 12 – Добавление данных



    Рисунок 13 – Новые данные о марках

    А теперь изменим номер страницы марки 4 с 6 на 7, выбрав номер марки в строке, предназначенной для изменения, удаления и поиска строки (Рисунок 14). Посмотрим на результат (Рисунок 15).



    Рисунок 14 – Изменение данных строки



    Рисунок 15 – Результат изменения данных строки

    А теперь удалим марку одной темы, где её номер равен 1 и посмотрим на результат (Рисунок 16 и Рисунок 17).



    Рисунок 16 – Удаление данных строки



    Рисунок 17 – Результат удаления данных строки

    Интерфейс и принцип работы для вкладок «Серия», «Том», «Марка-серия», «Марка-том» такой же, что и для всех остальных (Рисунок 18 - 21).



    Рисунок 18 – Вкладка «Серия»



    Рисунок 19 – Вкладка «Том»



    Рисунок 20 – Вкладка «Марки серия»



    Рисунок 21 – Вкладка «Марки том»

    Осуществим поиск строк в таблицах по их номерам (Рисунок 22-26).



    Рисунок 22 – Поиск во вкладке «Серия»



    Рисунок 23 – Поиск во вкладке «Том»



    Рисунок 24 – Поиск во вкладке «Марки серия»



    Рисунок 25 – Поиск во вкладке «Марки том»



    Рисунок 26 – Поиск во вкладке «Марка»

    Далее выведем справку о стране марки с номером 1 (Рисунок 27-28).



    Рисунок 27 – создание справки



    Рисунок 28 – вывод справки о марке

    Далее выведем число марок по определённой стране (Рисунок 29).



    Рисунок 29 – подсчёт числа марок по странам

    Далее откроем окно посетителя, введя логин «posetitel1» и пароль «posetitel1» (Рисунок 30)



    Рисунок 30 – Вход в окно посетителя

    Теперь перед нами окно посетителя. Посетитель может только осуществлять выборку над всеми таблицами.

    Осуществим поиск строк в таблицах по их номерам (Рисунок 31-35).



    Рисунок 31 – Поиск во вкладке «Серия»



    Рисунок 32 – Поиск во вкладке «Том»



    Рисунок 33 – Поиск во вкладке «Марки серия»



    Рисунок 34 – Поиск во вкладке «Марки том»



    Рисунок 35 – Поиск во вкладке «Марка»

    1   2   3   4


    написать администратору сайта