Базы данных. Информационные системы. Основные понятия

Содержание

Слайд 2

Информационные системы:

Информационные системы:

Слайд 3

Основные понятия Данными обычно называют описания объектов, событий, явлений реального мира,

Основные понятия

Данными обычно называют описания объектов, событий, явлений реального мира, сохраненные

для последующего использования.

Предметная область — это часть реального мира, рассматриваемая в рамках определённой деятельности и сведения о которой предполагается хранить и обрабатывать в информационной системе.

Слайд 4

Информационная система – это система, реализующая автоматизированный сбор, хранение, поиск, извлечение

Информационная система – это система, реализующая автоматизированный сбор, хранение, поиск, извлечение

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

Основные понятия

Слайд 5

База данных (БД) (Database, BD) – это организованная совокупность данных о

База данных (БД) (Database, BD) – это организованная совокупность данных о

некоторой предметной области, предназначенная для длительного хранения и постоянного применения.

Система управления базой данных (СУБД) (Database Management System, DBMS) – это программное обеспечение для работы с БД, т.е. совокупность языковых и программных средств, предназначенных для создания, ведения и совместного использования БД многими пользователями.

СУБД

Основные понятия

Слайд 6

Задачи СУБД: добавление, обновление (изменение), удаление данных; поиск данных по заданным

Задачи СУБД:
добавление, обновление (изменение), удаление данных;
поиск данных по заданным условиям;
выполнение несложных

расчетов;
обеспечение целостности данных;
возможность восстановления данных при необходимости.
Примеры СУБД:
MS Access, MS SQL Server (Microsoft Corporation);
Oracle, MySQL (Oracle Corporation);
PostgreSQL (PostgreSQL Global Development Group) и т.д.
Слайд 7

Информационные системы Локальные (БД , СУБД и клиентские программы установлены на

Информационные системы

Локальные
(БД , СУБД и клиентские программы установлены на рабочей станции

(PC))

Удаленные (сетевые)

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

Файл –серверные
(БД находится на сервере сети (файловом сервере), а СУБД и клиентские программы на рабочей станции)

Сервер

Слайд 8

Классификация БД по способу хранения данных Базы данных Централизованные (БД хранится

Классификация БД по способу хранения данных

Базы данных

Централизованные
(БД хранится на одном

компьютере)

Распределенные
(составные части единой БД хранятся на нескольких компьютерах , объединенных
в сеть)

Слайд 9

Модели данных БД Модель данных – это метод (принцип) логической организации

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

Модель данных – это метод (принцип) логической организации данных,

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

Графические представления сетевой модели данных

Графическое представление иерархической модели

Иерархическая модель схожа по принципу построения с файловой системой компьютера

Структура таблицы реляционной БД

Слайд 10

Иерархическая модель данных Иерархическая модель данных имеет форму дерева с дугами-связями и узлами-элементами данных.

Иерархическая модель данных

Иерархическая модель данных имеет форму дерева с дугами-связями и узлами-элементами данных.  

Слайд 11

Сетевая модель данных Сетевую модель данных можно рассматривать как расширенную версию

Сетевая модель данных

Сетевую модель данных можно рассматривать как расширенную версию иерархической

модели.
Основное различие между этими двумя моделями состоит в том, что в сетевой модели запись может иметь связи со многими другими записями, а не только с одной родительской.
Слайд 12

Реляционная база данных – это набор простых таблиц (отношений, сущностей), между

Реляционная база данных – это набор простых таблиц (отношений, сущностей), между

которыми установлены связи с помощью ключей.
Edgar Frank Codd.
Основные концепции модели опубликована в 1970 г.
Модель основывается на понятии «отношения» (Relation).
Запись - это строка таблицы.
Поле - это столбец таблицы.
Имя поля содержит название столбца вынесенное в заголовок.

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

Запись

Поле (имя + тип (свойства: размер, формат и др.))

Слайд 13

Атомарные значения полей

Атомарные значения полей

Слайд 14

Основные понятия ID Отношение 1 2 3 Домен ID Иванов Сидоров

Основные понятия

ID

Отношение

1
2
3

Домен
ID

Иванов
Сидоров
Синицины

Домен
Surname

Иван
Петр
Инна

Домен
Name

Ивнович
Петрович
Петровна

Домен
Middle_name

2001
2002

Домен
Year_birth

мужской
женский

Домен
Gender

Уфа
Белорецк
Ишимбай

Домен
City

Слайд 15

Ключи Первичный ключ (сокращенно РК - Primary Key) – это поле

Ключи

Первичный ключ (сокращенно РК - Primary Key) – это поле (или

совокупность полей), значения которого не могут повторятся.

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

Слайд 16

Простой первичный ключ состоит из одного поля. Составной первичный ключ состоит

Простой первичный ключ состоит из одного поля.
Составной первичный ключ состоит из

более чем одного поля.

Ключи по типу

Простой первичный ключ

Составной первичный ключ

Слайд 17

Логический (естественный) первичный ключ – поле, данные в котором логически связанны

Логический (естественный) первичный ключ – поле, данные в котором логически связанны

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

Ключи по способу задания

Логический первичный ключ

Суррогатный первичный ключ

Суррогатный (искусственный) первичный ключ - поле добавленное искусственным путем для однозначной идентификации записей.

Слайд 18

Ключи Внешний ключ (сокращенно FK - Foreign Key) – неключевое поле

Ключи

Внешний ключ (сокращенно FK - Foreign Key) – неключевое поле (совокупность

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

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

Внешний ключ

Главная таблица

Подчиненная таблица

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

Слайд 19

Ключи Ключ или Потенциальный ключ (Candidate key) - простой или составной

Ключи

Ключ или Потенциальный ключ (Candidate key) - простой или составной ключ,

который уникально идентифицирует каждую запись таблицы.
Если отношение имеет более одного потенциального ключа, то один из них рассматривается как первичный, остальные являются альтернативными (Alternative key).

Потенциальные ключи:
Код пользователя (например, первичный ключ)
Логин
E-mail
Имя + Пароль

Слайд 20

Ограничения целостности данных Целостностью данных можно назвать механизм поддержания соответствия базы

Ограничения целостности данных

Целостностью данных можно назвать механизм поддержания соответствия базы данных

предметной области.
Ограничения целостности предназначены для предупреждения возможности добавления в базу недопустимым данным .
Базовые требования обеспечения целостности:
1) Ссылочную целостность обеспечивается системой первичных и внешних ключей. Правило: значение внешнего ключа подчиненной таблицы должно быть соответствовать одному из значений первичного ключа главной таблицы.
2) Целостность сущностей. Правило: любая таблица (отношение) должна иметь первичный ключ или проверку уникальности. Поле первичного ключа не должно содержать пустые значения (NULL).
3) Целостность домена обеспечивается заданием условий на значения, ключами, хранимыми процедурами, триггерами, запретом пустых значений. Например, при создании структуры таблицы можно сразу указать количество цифр в поле Номер телефона или Фамилия.

Домен (в реляционной модели данных) - множество допустимых значений поля.

Слайд 21

Какие поля в таб.1 и таб.2 могут быть первичными ключами? Определите

Какие поля в таб.1 и таб.2 могут быть первичными ключами?
Определите названия

ключей по типу и по способу задания.

Задачи

Слайд 22

Задачи 3) Сколько заказчиков из Перми? 2) Какие из приведенных ниже

Задачи

3) Сколько заказчиков из Перми?

2) Какие из приведенных ниже полей могу

стать простым естественным первичным ключом?
фамилия;
имя;
номер и серия паспорта;
номер дома;
город проживания;
адрес электронной почты;
дата выполнения работы;
марка стиральной машины.
Слайд 23

Задачи 4) Определите какие товары отправлены в каждый из городов? 5)

Задачи

4) Определите какие товары отправлены в каждый из городов?
5) Сколько бумаги

отправлено в каждый из городов?
6) Посчитайте общую стоимость товаров, отправленных в каждый из городов.
Слайд 24

Виды связей между реляционными таблицами Реляционная база данных — это совокупность

Виды связей между реляционными таблицами

Реляционная база данных — это совокупность взаимосвязанных таблиц.
Виды связей между таблицами:
Один к одному

(1:1, 1− 1).
Один ко многим (1:М, 1 − ∞ ).
Многие ко многим (М:М, ∞ − ∞).
Слайд 25

Виды связей между реляционными таблицами Связь один к одному означает, что

Виды связей между реляционными таблицами

Связь один к одному означает, что одной записи в первой таблице

соответствует только одна запись во второй.

1

1

таблица «Паспорт»

таблица «Гражданин»

PK

FK

Слайд 26

Виды связей между реляционными таблицами Связь один ко многим означает, что

Виды связей между реляционными таблицами

Связь один ко многим означает, что одной записи в первой таблице

может соответствовать множество записей во второй.

таблица «Сотрудник»

таблица «Отдел»


1

Слайд 27

Виды связей между реляционными таблицами Связь многие ко многим означает, что

Виды связей между реляционными таблицами

Связь многие ко многим означает, что одной записи в первой таблице

может соответствовать множество записей во второй, и наоборот.

таблица «Преподаватель»

таблица «Дисциплина»

таблица «Преподаватель»

таблица «Дисциплина»

таблица «Семестровый учебный план»

1

1



Слайд 28

Задачи 1) Какой вид связи между таблицей 1 и таблицей 2?

Задачи

1) Какой вид связи между таблицей 1 и таблицей 2?

таблица «Каталог»

таблица

«Эфирное масло»

Часть предметной области «Дипломное проектирование»

Часть предметной области «Информация по парфюмерной продукции»

таблица «Студент»

таблица «Преподаватель»

Слайд 29

Задачи 2) Какой вид связи между таблицей 1 и таблицей 2?

Задачи

2) Какой вид связи между таблицей 1 и таблицей 2?

таблица «Город»

таблица

«Территориальное деление»

Часть предметной области «География»

Часть предметной области «Административные единицы»

таблица «Страна»

таблица «Столица»

Слайд 30

Язык SQL Язык SQL, предназначенный для взаимодействия с базами данных. Появился

Язык SQL

Язык SQL, предназначенный для взаимодействия с базами данных.

Появился в середине

70-х (первые публикации 1074 г.).

Первый принятый стандарт SQL/86 разработан Американским национальным институтом стандартов (ANSI) и одобрен Международной организаций по стандартизации (ISO) (в 1986г.)

В настоящее время действует стандарт, принятый в 2003 году (SQL:2003) с небольшими модификациями, внесёнными позже (SQL:2008).

В каждой СУБД применяется свой диалект языка. Transact SQL применяется в Microsoft SQL Server.

Слайд 31

Команды SQL

Команды SQL

Слайд 32

Типы данных MS SQL Server Числовые типы данных: BIT: хранит значение

Типы данных MS SQL Server

Числовые типы данных:
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[ ( p[ , s] ) ] и NUMERIC[ ( p[ , s] ) ]: числа с фиксированной точностью и масштабом. При использовании максимальной точности числа могут принимать значения в диапазоне
от -10^38+1 до 10^38-1. 
Синонимами типа decimal по стандарту ISO являются типы dec и dec( p, s ). Тип numeric функционально эквивалентен типу decimal.
p (точность) - максимальное общее число хранимых десятичных разрядов. Это число включает символы слева и справа от десятичной запятой. Точность должна быть значением в диапазоне от 1 до максимум 38. Точность по умолчанию составляет 18.
s (масштаб) - максимальное число хранимых десятичных разрядов справа от десятичной запятой. Это число отнимается от p для определения максимального количества цифр слева от десятичной запятой. Масштаб должен иметь значение от 0 до p и может быть указан только при заданной точности. По умолчанию масштаб принимает значение 0, поэтому 0 <= s <= p. Максимальный размер хранилища зависит от точности.
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 до 3.40E+38. Занимает 4 байта. Эквивалентен типу FLOAT(24).
Слайд 33

Типы данных, представляющие дату и время: DATE: ГГГГ-ММ-ДД. Хранит даты от

Типы данных, представляющие дату и время:
DATE: ГГГГ-ММ-ДД. Хранит даты от 1

января 0001 года до 31 декабря 9999 года. Занимает 3 байта.
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 байт.
TIME: хранит время в диапазоне от 00:00:00.0000000 до 23:59:59.9999999. Занимает от 3 до 5 байт.
Может иметь форму TIME(n), где n представляет количество цифр от 0 до 7 в дробной части секунд

Типы данных MS SQL Server

Слайд 34

Строковые типы данных: CHAR: хранит строку длиной от 1 до 8

Строковые типы данных:
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 Гб.
Еще два типа TEXT и NTEXT являются устаревшими и поэтому их не рекомендуется использовать. Вместо них применяются VARCHAR и NVARCHAR соответственно.

Типы данных MS SQL Server

Слайд 35

Бинарные типы данных: BINARY: хранит бинарные данные в виде последовательности от

Бинарные типы данных:
BINARY: хранит бинарные данные в виде последовательности от 1

до 8 000 байт.
VARBINARY: хранит бинарные данные в виде последовательности от 1 до 8 000 байт, либо до 2^31–1 байт при использовании значения MAX (VARBINARY(MAX)).
Еще один бинарный тип - тип IMAGE является устаревшим, и вместо него рекомендуется применять тип VARBINARY.
Остальные типы данных:
UNIQUEIDENTIFIER: уникальный идентификатор GUID (по сути строка с уникальным значением), который занимает 16 байт.
TIMESTAMP: некоторое число, которое хранит номер версии строки в таблице. Занимает 8 байт.
CURSOR: представляет набор строк.
HIERARCHYID: представляет позицию в иерархии.
SQL_VARIANT: может хранить данные любого другого типа данных T-SQL.
XML: хранит документы XML или фрагменты документов XML. Занимает в памяти до 2 Гб.
TABLE: представляет определение таблицы.
GEOGRAPHY: хранит географические данные, такие как широта и долгота.
GEOMETRY: хранит координаты местонахождения на плоскости.

Типы данных MS SQL Server

Слайд 36

Службы Microsoft SQL Server

Службы Microsoft SQL Server

Слайд 37

Database Engine Database Engine является ядром системы управления реляционной БД. Может

Database Engine

Database Engine является ядром системы управления реляционной БД.
Может быть

установлено несколько экземпляров службы Database Engine.
Один экземпляр Database Engine может быть службой по умолчанию (с именем MS SQL SERVER), другие экземпляры должны иметь уникальные имена.
Каждый экземпляр службы Database Engine требует отдельной инсталляции, конфигурации и настройки безопасности.
Один Database Engine может обеспечить доступ к нескольким БД.
Слайд 38

Системные базы данных

Системные базы данных

Слайд 39

Утилиты Microsoft SQL Server: SQL Server Management Studio. SQL Server Books

Утилиты Microsoft SQL Server:

SQL Server Management Studio.
SQL Server

Books Online.
SQLCMD Microsoft.
SQL Configuration Manager.
Слайд 40

Основные функции СУБД: управление данными во внешней памяти (на дисках); управление

Основные функции СУБД:
управление данными во внешней памяти (на дисках);
управление данными в

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

Система управления базами данных

Слайд 41

Обычно современная СУБД содержит следующие компоненты: ядро, которое отвечает за управление

Обычно современная СУБД содержит следующие компоненты:
ядро, которое отвечает за управление данными

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

Система управления базами данных