Оцените презентацию от 1 до 5 баллов!
Тип файла:
ppt / pptx (powerpoint)
Всего слайдов:
30 слайдов
Для класса:
1,2,3,4,5,6,7,8,9,10,11
Размер файла:
130.26 kB
Просмотров:
60
Скачиваний:
0
Автор:
неизвестен
Слайды и текст к этой презентации:
№1 слайд
Содержание слайда: Introduction to Databases and SQL
Лекция 3
№2 слайд
Содержание слайда: Темы занятия
Разбор задания №1
Изменение структуры таблицы
Удаление таблиц и баз
Первичный ключ
Связи между таблицами
№3 слайд
Содержание слайда: Изменение структуры таблицы
Для изменения структуры таблицы служит инструкция ALTER TABLE. Можно делать следующие изменения:
добавлять и удалять колонки;
изменять свойства колонок;
добавлять и удалять именованные ограничения;
Внимание: следует учитывать нюансы при изменении структуры непустой таблицы.
№4 слайд
Содержание слайда: Добавление колонки
Чтобы добавить новую колонку, в ALTER TABLE используется предложение ADD:
ALTER TABLE Employee
ADD PhoneNumber char(12) NULL
В одной инструкции ALTER TABLE можно добавить только одну колонку.
№5 слайд
Содержание слайда: Удаление колонки
Колонки из таблицы удаляются при помощи предложения DROP COLUMN:
ALTER TABLE Employee
DROP COLUMN PhoneNumber
№6 слайд
Содержание слайда: Изменение свойств колонки
Для изменения свойств существующей колонки применяется предложение ALTER COLUMN. Модификации поддаются следующие свойства колонки:
тип данных;
свойство колонки хранить значения NULL.
ALTER TABLE Employee
ALTER COLUMN FirstName char(25) NOT NULL
№7 слайд
Содержание слайда: Добавление и удаление ограничений
Для добавления в таблицу именованного ограничения используется предложение ADD CONSTRAINT:
ALTER TABLE Employee
ADD CONSTRAINT uc_FirstName UNIQUE (FirstName)
Удалить именованное ограничение можно при помощи предложения DROP CONSTRAINT:
ALTER TABLE Employee
DROP CONSTRAINT uc_FirstName
№8 слайд
Содержание слайда: Удаление таблицы
Инструкция DROP TABLE служит для удаления таблиц(ы):
-- удаляем одну таблицу
DROP TABLE Profiles
-- удаляем сразу три таблицы
DROP TABLE Roles, Users, UserRoles
№9 слайд
Содержание слайда: Удаление базы
Инструкция DROP DATABASE служит для безвозвратного удаления одной или нескольких баз:
-- удаляем одну базу (несколько – через запятую)
DROP DATABASE Projects
№10 слайд
Содержание слайда: Первичный ключ
Первичный ключ (primary key) – колонка (или набор колонок) с уникальными значениям, позволяющими однозначно идентифицировать строки таблицы.
Каждая таблица может содержать только один первичный ключ (хотя самих колонок с уникальными значениями в таблице может быть несколько – это потенциальные ключи).
№11 слайд
Содержание слайда: Выбор первичного ключа
1. Обычно первичный ключ выбирают на этапе проектирования таблицы, когда самих данных ещё нет. Надо прогнозировать, какие данные могут появиться в таблице (например, всегда ли комбинация из имени человека и его даты рождения будет уникальной).
2. Из нескольких потенциальных ключей первичным назначают обычно самый компактный.
№12 слайд
Содержание слайда: Разновидности первичного ключа (ПК)
Атомарный (простой) ПК – состоит из одной колонки.
Составной ПК – состоит из нескольких колонок.
Естественный ПК – строится на уже существующих атрибутах сущности.
Суррогатный ПК – состоит из специально добавленных к сущности атрибутах (с уникальными значениями).
№13 слайд
Содержание слайда: Задание первичного ключа – способ 1
CREATE TABLE Employee
(
EmployeeID int PRIMARY KEY,
FirstName nvarchar(50),
LastName nvarchar(50),
DepartmentID char(4)
)
Только одну колонку можно пометить как PRIMARY KEY. Она автоматически будет NOT NULL.
№14 слайд
Содержание слайда: Задание первичного ключа – способ 2
CREATE TABLE Employee
(
EmployeeID int NOT NULL,
FirstName nvarchar(50),
LastName nvarchar(50),
DepartmentID char(4),
CONSTRAINT pk_emp PRIMARY KEY(EmployeeID)
)
Так можно построить ключ по нескольким колонкам!
№15 слайд
Содержание слайда: Колонка идентификаторов
В T-SQL одну целочисленную колонку таблицы можно сделать колонкой идентификаторов.
При добавлении строки в таблицу значения в такой колонке будут формироваться автоматически: это будут элементы числовой последовательности с заданным начальным значением и шагом.
№16 слайд
Содержание слайда: Колонка идентификаторов – пример 1
CREATE TABLE Employee
(
EmployeeID int PRIMARY KEY IDENTITY,
FirstName nvarchar(50),
LastName nvarchar(50),
DepartmentID char(4)
)
EmployeeID будет равен 1, 2, 3, …
№17 слайд
Содержание слайда: Колонка идентификаторов – пример 2
CREATE TABLE Employee
(
EmployeeID int PRIMARY KEY IDENTITY(5, 3),
FirstName nvarchar(50),
LastName nvarchar(50),
DepartmentID char(4)
)
EmployeeID будет равен 5, 8, 11, …
№18 слайд
Содержание слайда: Связи между таблицами
Пусть в таблице T1 есть первичный (или потенциальный) ключ PK. Пусть в таблице T2 колонка (набор колонок) FK принимает значения из множества значений PK.
В этом случае будем говорить о том, что таблицы T1 и T2 связаны по ключу PK. Колонка (или колонки) FK называется в таблице T2 внешним ключом (foreign key).
T1 – главная таблица, T2 – зависимая таблица.
№19 слайд
Содержание слайда: Связи между таблицами – пример
Таблица Users хранит данные пользователей, таблица Roles (первичный ключ RoleID) описывает роли. Надо связать таблицы, чтобы у каждого пользователя была ровно одна роль.
№20 слайд
Содержание слайда: Связи между таблицами – пример
Колонка UserRole – внешний ключ в таблице Users.
№21 слайд
Содержание слайда: Создание связи – 1
Во-первых, нужна та таблица, на которую будем ссылаться (главная таблица):
CREATE TABLE Roles
(
RoleID int PRIMARY KEY,
RoleName nvarchar(50) NOT NULL
)
№22 слайд
Содержание слайда: Создание связи – 2
Во-вторых, нужна таблица, которая будет ссылаться.
CREATE TABLE Users
(
UserID int PRIMARY KEY,
[Login] nvarchar(50) NOT NULL,
[Password] nvarchar(50) NOT NULL,
UserRole int NOT NULL,
CONSTRAINT fk_roles FOREIGN KEY (UserRole)
REFERENCES Roles(RoleID)
)
№23 слайд
Содержание слайда: Назначение связей между таблицами
Связь обеспечивает ссылочную целостность данных.
При наличии связи нельзя вставить в зависимую таблицу строку со значениями внешнего ключа, отсутствующими в главной таблице.
№24 слайд
Содержание слайда: Типы связей между таблицами
Пусть T2 – таблица с внешним ключом на таблицу T1.
1. Связь «один ко многим». Каждой строке из T1 соответствует несколько строк из T2 (0, 1, .. N строк).
2. Связь «один к одному». Каждой строке из T1 соответствует одна строка из T2 (или ноль строк).
3. Связь «многие ко многим». Каждой строке из T1 соответствует несколько строк из T2, и наоборот.
№25 слайд
Содержание слайда: Связь «один ко многим»
Это самый распространённый тип связи.
№26 слайд
Содержание слайда: Связь «один к одному»
Такая связь описывает отношение уточнения или наследования.
№27 слайд
Содержание слайда: Связь «многие ко многим»
Один автор может написать несколько книг, но и у книги может быть несколько авторов.
№28 слайд
Содержание слайда: Связь «многие ко многим»
Этот логический тип связи на практике реализуется при помощи дополнительной таблицы.
№29 слайд
Содержание слайда: Диаграмма базы данных
Диаграмма БД позволяет наглядно представить структуру таблиц и связей между ними (схема БД).
Многие СУБД содержат средства для построения диаграммы по выбранным таблицам базы.
Некоторые СУБД позволяют строить диаграмму, а затем на её основе сгенерировать схему базы данных.
№30 слайд
Содержание слайда: Диаграмма базы данных – пример