Справочник от Автор24
Поделись лекцией за скидку на Автор24

Реляционная модель данных. Логическая noSQL модель.

  • 👀 696 просмотров
  • 📌 684 загрузки
  • 🏢️ РТУ МИРЭА
Выбери формат для чтения
Загружаем конспект в формате pdf
Это займет всего пару минут! А пока ты можешь прочитать работу в формате Word 👇
Конспект лекции по дисциплине «Реляционная модель данных. Логическая noSQL модель.» pdf
Центр дистанционного обучения Управление данными ФИО преподавателя: Смирнов Михаил Вячеславович e-mail: smirnov.mirea@gmail.com Online-edu.mirea.ru online.mirea.ru Центр дистанционного обучения Лекция 4 Реляционная модель данных. Логическая noSQL модель. online.mirea.ru Центр дистанционного обучения Содержание: • Определения реляционной модели данных. • Элементы реляционной модели данных в языке SQL. • Первичный ключ и ограничения целостности. • Ссылочная целостность и внешние ключи. • Варианты ссылочной целостности. • Пользовательские представления в реляционной модели данных • Логическое представление noSQL модели данных online.mirea.ru Центр дистанционного обучения Реляционная модель: основные понятия Реляционная БД – набор таблиц. Таблица – элемент реляционной базы данных, который состоит из двух частей: Набор столбцов и строк. Столбцы – это арность, строки – это кардинальность. Схема: метаинформация (имя таблицы, имя и тип каждого столбца). Students (sid: string, name: string, login: string, age: integer..) online.mirea.ru Центр дистанционного обучения Пример таблицы Students online.mirea.ru Центр дистанционного обучения Язык запросов SQL • Разработан IBM (system R) в 1970х • Используется большинством провайдеров IT услуг, поэтому стандартизован. online.mirea.ru Центр дистанционного обучения Как работает язык SQL? • Чтобы вывести всех студентов, которым 18 лет, мы можем написать: • SELECT * FROM Students S WHERE S.Age=18; online.mirea.ru Центр дистанционного обучения Запрос к нескольким таблицам • Вычислим результат следующего запроса: SELECT S.name, E.cid FROM Students S, Enrolled E WHERE S.sid=E.sid AND E.grade=“A” online.mirea.ru Центр дистанционного обучения Создание таблиц с помощью инструкций SQL Таблица Students CREATE TABLE Students (sid: CHAR(20), Name: CHAR(20), Login: CHAR(10), Age: integer, Gpa: real); Таблица Enrolled CREATE TABLE Enrolled (sid: CHAR(20), cid: CHAR(20), Grade: CHAR (2)) online.mirea.ru Центр дистанционного обучения Удаление и изменение таблиц DROP TABLE Students Полностью удаляет таблицу Students. Схема и строки (экземпляры) также удаляются. ALTER TABLE Students ADD COLUMN firstYear: integer Изменяется схема Students, все строки расширяются в пределах нового столбца, в котором проставляются значения NULL. online.mirea.ru Центр дистанционного обучения Операции со строками Вставка одной строки: INSERT INTO Students (sid, name, login, age, gpa) VALUES (53688, ‘Smith’, ‘smith@ee’, 18, 3.2) Удаление всех строк, соответствующих условию: DELETE FROM Students S WHERE S.name = ‘Smith’ online.mirea.ru Центр дистанционного обучения Ограничение целостности Правила, по которым работает каждая таблица в БД: 1. IC (integrity constraint) определяются когда создается схема 2. IC проходят проверку каждый раз, когда таблица изменяется. Ограничение целостности контролируется DBMS: PRIMARY KEY, CHECK, UNIQUE, FOREIGN KEY online.mirea.ru Центр дистанционного обучения Первичный ключ и ограничение целостности Набор значений (столбец или атрибут) является ключом, если: 1. В ключевом столбце не имеется двух одинаковых значений, и 2. Это недействительно больше ни для одного столбца в данной таблице, а если нет, то 3. Решение – составной ключ или ключ, выбранный DBA online.mirea.ru Центр дистанционного обучения Внешние ключи, ссылочная целостность Внешний ключ, это логический указатель (вроде оглавления у книги). Набор столбцов в таблице, который ссылается на значения строк в другой таблице. В нашим примере такой ключ существует в таблице Enrolled (sid: string, cid: string, grade: string). Считается, что ссылочная целостность соблюдается, когда все значения внешнего ключа одной таблицы приводят к “результату” в другой таблице. online.mirea.ru Центр дистанционного обучения Реализация внешних ключей в SQL Только те студенты, что имеются в таблице Students могут поступать на курсы CREATE TABLE Enrolled (sid CHAR(20), cid CHAR (20), grade CHAR (2)), PRIMARY KEY (sid, cid), FOREIGN KEY (sid) REFERENCES Students) online.mirea.ru Центр дистанционного обучения Реализация внешних ключей в SQL online.mirea.ru Центр дистанционного обучения Как работает ссылочная целостность? Будем считать, что в таблице Enrolled столбец sid обеспечивает ссылочную целостность с таблицей Students. Что произойдет, если в таблицу Enrolled будет вставлена запись с несуществующим id студента? А что может произойти при удалении строки из Students? Удаление всех строк в Enrolled, которые ссылаются на строки Students Запрет на удаление строки из Students, на который есть ссылки из таблицы Enrolled Установка во всех строках в Enrolled, которые ссылаются на строки Students значения “default”. online.mirea.ru Центр дистанционного обучения Варианты установления ссылочной целостности По умолчанию DBMS установит значение NO ACTION. При этом в попытках удаления/обновления будет отказано. CASCADE. При удалении будут удалены все значения в строках, ссылающихся на удаленную строку. SET NULL/SET DEFAULT. При удалении или обновлении в ссылающиеся строки будут помещены NULL значения или DEFAULT значения. online.mirea.ru Центр дистанционного обучения Варианты установления ссылочной целостности CREATE TABLE Enrolled (sid CHAR (20), cid CHAR (20), grade CHAR (2), PRIMARY KEY (sid, cid), FOREIGN KEY (sid) REFERENCES Students ON DELETE CASCADE ON UPDATE SET DEFAULT) online.mirea.ru Центр дистанционного обучения Пользовательские представления (user views) Представление, это тоже таблица. Однако вы храним в них не набор строк, а правило, как этот набор получить (виртуальная таблица). CREATE VIEW YoungActiveStudents (name, grade) AS SELECT S.name, E.grade FROM Students S, Enrolled E WHERE S.sid = E.sid AND s.age<21 online.mirea.ru Центр дистанционного обучения Логическое представление noSQL модели данных. Вариант. online.mirea.ru Центр дистанционного обучения Чтение на дом • Русский Кренке, стр. 305-324. • Английский Кренке, стр. 228-260. 68-137. • MIT, стр. 57-92. 130-173. online.mirea.ru Центр дистанционного обучения Вопросы для самостоятельного изучения 1. В чем ключевое отличие концептуальной модели данных от логической? 2. Что такое запрос к реляционной базе данных? Где можно использовать результаты этой процедуры? 3. Возможна ли сортировка данных на физическом уровне таблицы? А на логическом уровне запроса (query) или представления (view)? Какие функции сортировки заложены в SQL? 4. Приведите несколько примеров необходимости использования пользовательского представления. 5. Почему в логической noSQL модели возможно существование отношений без собственных ключей? online.mirea.ru Центр дистанционного обучения Спасибо за внимание! online.mirea.ru
«Реляционная модель данных. Логическая noSQL модель.» 👇
Готовые курсовые работы и рефераты
Купить от 250 ₽
Решение задач от ИИ за 2 минуты
Решить задачу
Помощь с рефератом от нейросети
Написать ИИ
Получи помощь с рефератом от ИИ-шки
ИИ ответит за 2 минуты

Тебе могут подойти лекции

Смотреть все 70 лекций
Все самое важное и интересное в Telegram

Все сервисы Справочника в твоем телефоне! Просто напиши Боту, что ты ищешь и он быстро найдет нужную статью, лекцию или пособие для тебя!

Перейти в Telegram Bot