
- •1. 1. Информационные системы. Классификация информационных систем. Место баз данных в информационных системах.
- •2.Основные этапы проектирования бд. Концептуальное, логическое и физическое проектирование бд.
- •Методология idef1x проектирования бд.
- •3.Модели данных. Реляционная модель данных. Структура данных, операции, ограничения целостности реляционной модели данных.
- •Селекция – используется для построения «горизонтального» подмножества отношения, т.Е. Подмножество кортежей удовлетворяет некоторому предикату (логическое условие)
- •4. Нормализация отношений рбд. Обоснование необходимости нормализации. Нормальные формы отношений. Нормализация через декомпозицию отношений.
- •5.Язык sql. Команды создания базы данных и таблиц
5.Язык sql. Команды создания базы данных и таблиц
Создание БД
CREATE DATABASE MyDB
ON
(NAME=MyDBroot,
FILENAME=’c:\mydbroot.mdf’,
SIZE=8MB,
MAXSIZE=9MB,
FILEGROWTH=100KB),
(NAME=MyDBroot1,
FILENAME=’c:\mydbroot1.ndf’,
SIZE=100MB,
MAXSIZE=150MB,
FILEGROWTH=100KB),
LOG ON
(NAME=Logdata1,
FILENAME=’e:\logdata1.ldf’,
SIZE=100MB,
MAXSIZE=150MB,
FILEGROWTH=100MB)
Пример создания таблицы:
CREATE TABLE Stud
(Nzk N(6) NOT NULL PRIMARY KEY,
fio C(20) NOT NULL UNIQUE,
dr d,
kurs i CHECK (kurs>0 and kurs<6)
ERROR ‘Курс в интервле от 1 до 5’ DEFAULT 1,
stip N(6,2) NULL DEFAULT 0,
gr C(6) NOT NULL REFERENCES Gruppa TAG n_gr,
FOREIGN KEY gr TAG n_gr REFERENCES Gruppa
)
Заданные ограничения в команде CREATE TABLE
Исключение пустых значений NOT NULL
Ограничение уникальности UNIQUE
Ограничение на первичный ключ PRIMARY KEY
Проверка значения полей CHECK
Установка значений по умолчанию, когда вставляем пустую запись в таблицу хотя бы одно поля должно иметь значение по умолчанию DEFAULT
Поддержка ограничения на связь (внешних и родительских ключей). Когда все значения в поле одной таблицы представлены в поле другой таблицы говорят, что первое поле ссылается на второе. Например, номер группы в таблице «Студент» ссылается на поле номер группы в таблице «Группа». Первое поле называется внешним ключом, второе родительским т.о. каждое значение внешнего ключа должно ссылаться к одному и только одному значению родительского ключа. Если это условие выполняется, то говорят, что данные таблицы находятся в состоянии ссылочной целостности. Для указания внешних ключей используется ключевое поле FOREIGN KEY.
Язык SQL. Команда выборки данных SELECT
Команда позволяет:
назначать поля, которые должны быть выбраны.
выбрать все поля
управлять вертикальными и горизонтальными порядком выбора полей
формировать собственные заголовки полей в выбранных результирующих таблицах
производить вычисления в списке выбираемых вычислений
использовать текстовые константы в списке выбираемых вычислений
ограничивать число возвращаемых строк
формировать сложные условия поиска
устранять одинаковые строки ив результате
Пример: Student (Nzk, fio, dr, stip)
● Получит все сведения обо всех студентах
select * from Student
● Использование вычисления и текстовых констант
select ‘студент’,fio, ’получает’, stip*1.8, ’руб’ from Student
● Уничтожение дублирования в выводимых строках. Получить список групп в которой учится хотя бы один студент
Select DISTINCT gr from Student
● Ограничение на количество выводимых строк (первых 50 студентов)
Select top 50 fio, gr from Student
● Предиката BETWEEN. Получить список студентов, чьи фамилии начинаются на Петров, а заканчиваются на Иванов.
select fio, stip from Student WHERE fio BETWEEN ‘ИВ’ AND ‘Пет’
● Предиката IN. Получить список студентов 1,3 и 5-го курсов
select fio, gr from Student WHERE kurs IN (1,3,5)
● Предиката LIKE. Получить список студентов, чьи фамилии заканчиваются на «со»
select fio, gr from Student WHERE fio LIKE ‘%co’
Команды модификации языка SQL (DELETE, INSERT, UPDATE)
INSERT – используется для добавления одной или нескольких записей в таблицу.
Формат команды:
INSERT INTO <имя таблицы> (<имя поля 1>< имя поля 2>…< имя поля n>)
VALUES(<значение 1>< значение 2>…< значение n>)
Пример добавления новой записи в таблицу Студент
INSERT INTO Student(Nzk, fio, gr)
Values (381515, ‘Петров’, ‘98ВП2’)
DELETE – удаление строк из таблицы.
Формат команды:
DELETE FROM <имя таблицы> WHERE <условие>
Удаление всех студентов таблицы Студент
DELETE FROM Student
UPDATE – изменение значения поля (модификация таблицы)
Формат команды:
UPDATE <имя таблицы>
SET <имя поля>=<значение> [,<имя поля>=<значение>,..]
[WHERE <условие>]
Заменить курс студента на следующий
UPDATE Student
SET kurs=kurs + 1
WHERE kurs<5