ЛЕКЦИЯ_Базы_данных

advertisement
РОССИЕВ
Дмитрий Анатольевич
БАЗА ДАННЫХ Ядро МИС
План лекции
1.
2.
3.
4.
5.
Определения, классификация БД
Устройство БД
Данные, хрянящиеся в БД
Запросы к данным в БД
Интерфейсы для работы с данными
Цель и задачи лекции
Ваша цель – усвоить и систематизировать
знания о базах данных уметь применять эти
знания при работе с медицинскими
информационными системами
ЗАДАЧИ
1.Знать основную терминологию баз
данных
2.Понимать принцип работы баз данных
Что такое База данных?

Ядро любой информационной системы электронное хранилище данных,
организованных во взаимосвязанные
таблицы
Еще одно определение!

БД – это виртуальная модель части
реального мира (предметной
области), которая позволяет
отражать внутреннюю,
информационную сущность
объектов, процессов, и, что очень
важно, связей между ними.
Модели автомобиля
Макет автомобиля позволяет
получить представление о
его форме, размерах,
дизайне
Модель автомобиля в БД
позволит мгновенно узнать,
например, суммарную
стоимость всех его деталей,
весящих менее 122 грамм и
сделанных из пластика. 
Человек – программа - БД
Пользователь
Пользователь
Пользователь
Пользователь
ПО - МИС
ПО - МИС
БД
ПО - МИС
Принципиальные схемы реализации
информационной системы
«Толстый
клиент»
СЕРВЕР
Программа
База данных
«Тонкий
клиент»
СЕРВЕР
База данных
Программа
Зачем нужны БД?




Систематизированное хранение
больших объемов взаимосвязанных
данных
Одновременное коллективное
пользование данными
Быстрый поиск и обработка данных
Легкое управление данными
(добавление, изменение, удаление)
Классификация баз данных
Реляционные
MS Access, MS SQL,
MySQL, DB2, Oracle
Dbase, FoxPro, Paradox
Объектные
Lotus (IBM)
Объектно-реляционные Cache (Intersystems)
(постреляционные)
Изобретение БД в 1970 г.
Эдгар Франк Кодд
(Edgar Frank Codd)
A Relational Model of Data for
Large Shared Data Banks
Communications of the ACM,
Volume 13, Number 6, June,
1970
Внедрение этого изобретения перевернуло мир
В 2002 журнал Forbes поместил реляционную модель данных в список
важнейших инноваций последних 85 лет.
Рынок БД


Более 15 миллиардов $ в год
Крупнейшие игроки:



Oracle – 40%
IBM – 31%
Microsoft – 12%
Уровни знания БД
4. Профессиональные
знания и навыки
Создание МИС
3. Основы
проектирования
Участие в разработке
модулей МИС
2. Устройство,
функционирование,
использование
Использование МИС,
Обработка научных
данных
1. Общее понятие
Общекультурный
уровень
Что такое таблица?


Это хранилище сведений о
нескольких (десятках, сотен,
тысяч и т.д.) ОДНОРОДНЫХ
объектах (сущностях)
Примеры объектов:







Студент Иванов И.И.
Преподаватель Петров П.П.
Палата № 6
Должность «Доцент кафедры»
Процедура «Внутримышечная инъекция»
Прием врача-психиатра
Консультация врача-офтальмолога
Таблица БД
Запись
user_id
Поле
surname
firstname
secname
user_name
user_password
user_birthdate
user_sex
1
Россиев
Дмитрий
Анатольевич
rossiev
548a6b708611caccdc
649f0cd91092a
6
19.11.1965
1
12135
Кубушко
Ирина
Владимир
овна
kubushko
12d276b0ca4cc8cdf1f
97a21ba7c449e
26.06.1967
0
12134
Клеменков
Александр
Сергеевич
klemenkova
9f99ed0bd6b7b3773b
991eb0f50c5a9
e
16.04.1978
1
12132
Клеменков
Сергей
Вениамин
ович
klemenkovs
bfda90519c0e6c76f20
e16df3b96a2a9
24.06.1955
1
12131
Свидерская
Лилия
Николаев
на
sviderskaya
c0eb34d0abde45ce8e
603d8b7c67c1e
3
21.02.1950
0
Количество полей и записей в
таблице БД

ПОЛЯ:




Таблица имеет как минимум 1 поле
Обычно количество полей - от 2 до
нескольких десятков
Максимальное количество – обычно 255
ЗАПИСИ:



Таблица может не иметь ни одной записи
(пустая)
Обычно – десятки, сотни записей
Максимальное количество не ограничено
Особенности таблиц БД
1.
2.
3.
4.
Строгая сетка (невозможно объединение
или дробление ячеек)
Шапка – структура (метаданные)
Никакая строка (запись) таблицы базы
данных не может быть полностью пустой
Данные в каждой ячейке должны быть
атомарными, т.е. трактоваться
однозначно
Атомарность для числовых значений
НЕПРАВИЛЬНО
ПРАВИЛЬНО
blood_pressure
bp_upper
bp_lower
120/80
120
80
140/90
140
90
Атомарность для текстовых значений
ЗАВИСИТ ОТ ПРЕДСТОЯЩЕЙ ОБРАБОТКИ
fullname
surname
name
sec_name
Петров Иван Иванович
Петров
Иван
Иванович
Иванов Петр Петрович
Иванов
Петр
Петрович
Атомарность значений


Значение НЕ является атомарным,
если при какой-либо его обработке
придется выделять какую-либо его
часть.
Значение ЯВЛЯЕТСЯ атомарным, если
при любой обработке оно
используется как единое целое.
Два основных закона БД


Все данные в базе хранятся в
таблицах и нигде больше.
Доступ к любому значению (ячейке)
однозначно осуществляется по
цепочке:

Таблица ->

Запись (строка) ->

Поле (столбец)
Таблица: users
Запись: 267
Поле: surname
Россиев
Обращение к данным похоже на принцип
шахматной доски
Скорость доступа к таблицам



Благодаря трехшаговому механизму
доступа данные из таблиц
извлекаются (и записываются) с
огромной скоростью.
Скорость доступа к таблицам в
тысячи раз выше, чем к обычным
файлам.
При загрузке личной страницы на
сайте КрасГМУ из БД извлекается
более 100 значений из 15 таблиц.
Два режима работы с таблицами


Работа со структурой таблицы
Работа с данными таблицы
Поле таблицы БД
Параметр, целостная и неделимая
характеристика, применимая к каждому
объекту, сведения о котором хранятся в
таблице

Для каждого поля задается:








Уникальное имя в пределах таблицы (латинскими символами)
Русский эквивалент или перевод имени
Тип данных и длина
Возможность пустых значений NULL
Значение по умолчанию DEFAULT
Диапазон или перечень возможных значений
Ключевое или нет - KEY
Комментарий
Основные типы данных






Численный
Произвольная строка
Текст
Дата
Логический (разновидность численного)
Номинальный (разновидность численного)
Численные типы данных
Типы
Примеры
Значения
Целое число
Рост
170
Число с плавающей
точкой
Температура тела
36,6
Логический
Наличие судимости
Нет/Да; 0/1;
False/True
Номинальный
Район города
Советский;
Центральный;
Ленинский; ...
Стадия заболевания
Первая;
Вторая;
Третья
(см)
(градусы)
(неупорядоченный)
Номинальный
(упорядоченный)
Другие типы данных
Тип
Примеры
Значения
Строка
ФИО
Россиев Д.А.
Большой
текст
Реферат статьи
... много текста ...
Дата
Дата рождения
19.11.1965
Время
Приход на работу
08.45
Дата и время Консультация по
диплому
17.12.2004 16.30
Счетчик
Идентификатор
4876
Объект
Фото
Тип данных определяет:




характер информации, содержащейся в
свойствах объектов
способ хранения данных в
информационной системе
возможные способы представления
данных
возможности обработки данных (поиск,
отбор, сортировка, статистика)
Ключи
Ключ – это поле базы данных, с
помощью которого программа быстро
находит нужные данные в таблице
Первичный
Вторичный (индекс)
Внешний

Запросы к
таблицам БД
Запросы – операции для извлечения и
изменения данных в таблицах баз
данных.
Виды запросов






Выборка (+ сортировка)
Добавление записи
Редактирование (изменение) записи
Удаление записи
Модификация структуры
Связывание таблиц
Выборка
ТАБЛИЦА
КРИТЕРИЙ
!
Выбранная запись
Выбранная запись
Выбранная запись
Выбранная запись
Совокупность
выбранных записей
Добавление записи
ТАБЛИЦА
Новая запись
Изменение записи
ТАБЛИЦА
Изменяемая запись
Удаление записи
ТАБЛИЦА
Удаляемая запись
Язык управления таблицами
SQL



Structured
Query
Language
Пример запроса на SQL
SELECT user_id, surname, firstname, secname
FROM users
WHERE user_id=12345
user_id
surname
firstname secname
12345
Петров
Иван
Иванович
Кто имеет право на те или иные
операции с рабочими таблицами?
Добавление записи
Пользователь
Изменение записи
Пользователь
Удаление записи
Пользователь или СА
Выборка
Пользователь
Модификация структуры СА
Связывание таблиц
СА
Интерфейсы БД
Интерфейсы – визуальные средства
представления и управления данными,
находящимися в таблицах баз данных
Стандартные интерфейсы
1. Визуализация таблицы
Стандартные интерфейсы
2. Форма ввода данных
Стандартные интерфейсы
3. Диаграмма
Стандартные интерфейсы
4. Текстовый/табличный отчет
Стандартные интерфейсы
5. Изображения, видеоролики
Связывание таблиц
Способы связывания таблиц
1.
2.
3.
Один к одному
Один ко многим
Многие ко многим
Один к одному
Код
врача
ФИО
Код
врача
Пол
Возраст
5
Доктор
Айболит
5
М
50
6
Доктор
Пеппер
6
М
35
7
Доктор
7
М
27
Курпатов
Когда возникает необходимость
связывания 1 к 1?
1.
2.
3.
Очень много полей
Часть данных используется намного
реже
Повышение скорости работы
Один ко многим
Код
врача
Врач
5
Доктор
Айболит
6
Доктор
Пеппер
7
Доктор
Курпатов
Код
Код
врача пациента
Пациент
5
1
Заяцев
5
2
Волков
6
3
Лисицина
6
4
Медведева
Отношение: врач ЛЕЧИТ пациентов
Многие ко многим
Код
врача
Врач
5
Доктор
Айболит
6
Доктор
Пеппер
7
Доктор
Курпатов
8
Доктор Хаус
Код
врача
Код
пациента
5
1
5
6
6
6
8
1
Код
пациента
Пациент
1
Зайцев
2
Волков
6
Лисицина
7
Медведева
Отношение: врачи ЛЕЧАТ пациентов
Вопрос
Как вы считаете, какая
организация имеет самую
большую базу данных в
мире?
Download