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

  • Достоинства реляционной модели

  • Недостатки реляционной модели

  • Пользовательская целостность

  • Типы данных https://metanit.com/sql/sqlserver/3.3.php

  • TINYINT

  • BIGINT

  • NUMERIC

  • MONEY

  • DATETIME

  • SMALLDATETIME

  • Строковые типы данных

  • NCHAR

  • Лабораторная работа 3 Реляционная модель бд данные хранятся в виде двумерных таблиц Таблицы обладают следующими свойствами


    Скачать 62.04 Kb.
    НазваниеЛабораторная работа 3 Реляционная модель бд данные хранятся в виде двумерных таблиц Таблицы обладают следующими свойствами
    Дата21.04.2021
    Размер62.04 Kb.
    Формат файлаpptx
    Имя файлаBazy_dannykh2.pptx
    ТипЛабораторная работа
    #197159

    Базы данных

    Лабораторная работа 3

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


     данные хранятся в виде двумерных таблиц
    Таблицы обладают следующими свойствами:

    - каждая ячейка таблицы является одним элементом данных;

    - каждый столбец содержит данные одного типа (числа, текст и т. п.);

    - каждый столбец имеет уникальное имя;

    - таблицы организуются так, чтобы одинаковые строки отсутствовали;

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



    Для идентификации записей выделяют следующие виды ключей – полей, определяющих запись:

    - первичный: однозначно определяет запись;

    - вторичный: выполняет роль поисковых и группировочных признаков и позволяет найти несколько записей.

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

    - уникальность: не должно существовать двух или более записей, имеющих одинаковые значения полей, входящих в первичный ключ;

    - не избыточность: первичный ключ не должен содержать поля, удаление которых из ключа не нарушит его уникальность


    Достоинства реляционной модели:


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

    Недостатки реляционной модели:


    далеко не всегда предметная область может быть представлена в виде "таблиц";
    в результате логического проектирования появляется множество "таблиц". Это приводит к трудности понимания структуры данных;
    БД занимает относительно много внешней памяти;
    относительно низкая скорость доступа к данным.

    Целостность базы данных


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


    Сущностная целостность - определяет строку как уникальную сущность в конкретной таблице. Она обеспечивает целостность столбцов идентификаторов или первичного ключа таблицы с помощью индексов и ограничений UNIQUE или PRIMARY KEY.
    Доменная целостность - это достоверность записей в конкретном столбце. Она включает ограничения типа данных, ограничения формата при помощи ограничений CHECK и правил, а также ограничения диапазона возможных значений при помощи ограничений FOREIGN KEY, CHECK, DEFAULT, определений NOT NULL и правил.


    Ссылочная целостность - сохраняет определенные связи между таблицами при добавлении или удалении строк
    При обеспечении ссылочной целостности SQL Server не допускает следующих действий пользователей:

    - Добавления или изменения строк в связанной таблице, если в первичной таблице нет соответствующей строки;

    - Изменения значений в первичной таблице, которое приводит к появлению потерянных строк в связанной таблице;

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



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

    Типы данных https://metanit.com/sql/sqlserver/3.3.php


    Числовые типы данных
    Типы данных, представляющие дату и время
    Строковые типы данных
    Бинарные типы данных
    Остальные типы данных

    Числовые типы данных


    BIT: хранит значение 0 или 1. Фактически является аналогом булевого типа в языках программирования. Занимает 1 байт.
    TINYINT: хранит числа от 0 до 255. Занимает 1 байт. Хорошо подходит для хранения небольших чисел.
    SMALLINT: хранит числа от –32 768 до 32 767. Занимает 2 байта
    INT: хранит числа от –2 147 483 648 до 2 147 483 647. Занимает 4 байта. Наиболее используемый тип для хранения чисел.
    BIGINT: хранит очень большие числа от -9 223 372 036 854 775 808 до 9 223 372 036 854 775 807, которые занимают в памяти 8 байт.
    DECIMAL: хранит числа c фиксированной точностью. Занимает от 5 до 17 байт в зависимости от количества чисел после запятой.
    NUMERIC: данный тип аналогичен типу DECIMAL.
    SMALLMONEY: хранит дробные значения от -214 748.3648 до 214 748.3647. Предназначено для хранения денежных величин. Занимает 4 байта. Эквивалентен типу DECIMAL(10,4).
    MONEY: хранит дробные значения от -922 337 203 685 477.5808 до 922 337 203 685 477.5807. Представляет денежные величины и занимает 8 байт. Эквивалентен типу DECIMAL(19,4).
    FLOAT: хранит числа от –1.79E+308 до 1.79E+308. Занимает от 4 до 8 байт в зависимости от дробной части.
    Может иметь форму опредеения в виде FLOAT(n), где n представляет число бит, которые используются для хранения десятичной части числа (мантиссы). По умолчанию n = 53.
    REAL: хранит числа от –340E+38 to 3.40E+38. Занимает 4 байта. Эквивалентен типу FLOAT(24).

    Типы данных, представляющие дату и время


    DATE: хранит даты от 0001-01-01 (1 января 0001 года) до 9999-12-31 (31 декабря 9999 года). Занимает 3 байта.
    TIME: хранит время в диапазоне от 00:00:00.0000000 до 23:59:59.9999999. Занимает от 3 до 5 байт.
    Может иметь форму TIME(n), где n представляет количество цифр от 0 до 7 в дробной части секунд.
    DATETIME: хранит даты и время от 01/01/1753 до 31/12/9999. Занимает 8 байт.
    DATETIME2: хранит даты и время в диапазоне от 01/01/0001 00:00:00.0000000 до 31/12/9999 23:59:59.9999999. Занимает от 6 до 8 байт в зависимости от точности времени.
    Может иметь форму DATETIME2(n), где n представляет количество цифр от 0 до 7 в дробной части секунд.
    SMALLDATETIME: хранит даты и время в диапазоне от 01/01/1900 до 06/06/2079, то есть ближайшие даты. Занимает от 4 байта.
    DATETIMEOFFSET: хранит даты и время в диапазоне от 0001-01-01 до 9999-12-31. Сохраняет детальную информацию о времени с точностью до 100 наносекунд. Занимает 10 байт.

    Строковые типы данных


    CHAR: хранит строку длиной от 1 до 8 000 символов. На каждый символ выделяет по 1 байту. Не подходит для многих языков, так как хранит символы не в кодировке Unicode.
    Количество символов, которое может хранить столбец, передается в скобках. Например, для столбца с типом CHAR(10) будет выделено 10 байт. И если мы сохраним в столбце строку менее 10 символов, то она будет дополнена пробелами.
    VARCHAR: хранит строку. На каждый символ выделяется 1 байт. Можно указать конкретную длину для столбца - от 1 до 8 000 символов, например, VARCHAR(10). Если строка должна иметь больше 8000 символов, то задается размер MAX, а на хранение строки может выделяться до 2 Гб: VARCHAR(MAX).
    Не подходит для многих языков, так как хранит символы не в кодировке Unicode.
    В отличие от типа CHAR если в столбец с типом VARCHAR(10) будет сохранена строка в 5 символов, то в столце будет сохранено именно пять символов.
    NCHAR: хранит строку в кодировке Unicode длиной от 1 до 4 000 символов. На каждый символ выделяется 2 байта. Например, NCHAR(15)
    NVARCHAR: хранит строку в кодировке Unicode. На каждый символ выделяется 2 байта.Можно задать конкретный размер от 1 до 4 000 символов: . Если строка должна иметь больше 4000 символов, то задается размер MAX, а на хранение строки может выделяться до 2 Гб.


    ncharnvarchar  -  Unicode  
    charnchar  -  фиксированная длина строки, даже если символы не ипользуются
    varchar , nvarchar  -  с переменная длина   - использует столько символов, сколько содержится в сообщении

    Задание


    Приобрести навыки проектирования баз данных, изучить особенности создания баз данных, таблиц и обеспечения целостности в MS SQL Server.

    Требования к ЛР:


    Созданная база данных должна находиться в третьей нормальной форме (рекомендуется нормальная форма Бойса-Кодда).
      Наличие многомерных зависимостей
      Минимум 7 таблиц, не менее 5 основных таблиц + справочные
      Минимум 4-5 полей для основных и 2-3 для справочных таблиц
      Типы данных
      Связи между таблицами, ключи
      Автоинкрементен
      Диаграмма БД



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