Создание БД в MSSQLSQRVER. Перенос схемы из ЕА Затем код экспортируется в среду SQL. Для начала создадим пустую БД
Рисунок 8 – создание БД в среде SQL
После этого создадим пустой запрос и в него вставляем получившийся код, запускаем его.
Рисунок 9 – применение сгенерированного кода
Код удачно экспортирован. Теперь можно просмотреть результат применения кода.
Рисунок 10 – Результат применения кода
Наблюдаем таблицы и ключи, ранее созданные в среде ЕА.
Создание диаграммы средствами MS SQL server и MS SQL server management studio
Для простоты восприятия БД в среде SQL, создадим диаграмму средствами SQL.
Рисунок 11 – Схема БД в SQL
Построенная диаграмма аналогична диаграмме в ЕА. Конструктор баз данных — это визуальное средство, позволяющее конструировать и визуализировать базу данных, с которой установлено соединение. Конструктор баз данных используется для создания, редактирования и удаления таблиц, столбцов, ключей, индексов, связей и ограничений. Для визуализации базы данных можно создать одну или несколько диаграмм, иллюстрирующих некоторые или все имеющиеся в ней таблицы, столбцы, ключи и связи. Для любой базы данных можно создать любое необходимое количество диаграмм; каждая из таблиц базы данных может использоваться в любом количестве диаграмм. Таким образом, для визуализации различных частей базы данных или для акцентирования различных аспектов её конструирования можно создавать различные диаграммы. Например, можно создать большую диаграмму, в которой будут отображаться все таблицы и столбцы, а также меньшую диаграмму, в которой будут отображаться все таблицы, но не будет столбцов. Внутри диаграммы базы данных у каждой связи есть три отдельных элемента: конечные точки, стиль линии и связанные таблицы.
Конечные точки - линии показывают вид связи: «один к одному» или «один ко многим». Если на одной конечной точке связи находится ключ, а на другой — знак бесконечности, то это связь «один ко многим». Если у связи по одному ключу на каждой конечной точке, то это связь «один к одному».
Стиль линии. Разновидность линии (не её конечные точки) показывает, проверяет ли СУБД ссылочную целостность для связи при добавлении новых данных в таблицу, связанную с помощью внешнего ключа. Если связь нарисована в виде сплошной линии, это значит, что СУБД проверяет ссылочную целостность для связи при добавлении или изменении строк в таблице, связанной с помощью внешнего ключа. Если линия пунктирная, это значит, что СУБД не проверяет ссылочную целостность для связи при добавлении или изменении строк в таблице, связанной с помощью внешнего ключа.
Связанные таблицы. Линия связи показывает, что две таблицы связаны с помощью внешнего ключа. Для связи «один ко многим» таблица, связанная с помощью внешнего ключа, — это таблица около цифры 8 на линии. Если обе конечные точки линии присоединены к одной таблице, это означает возвратную связь.
Начальное заполнение БД
Для заполнения БД используется оператор InsertInto, заполняются несколько первых строк для того, чтобы продолжить работу с БД.
ЗапросSQL:
InsertIntoComendants(ComendantCode,Surname,Name,SecondName,NmberPhone)
VALUES (1,'Рионова','Александра','Александровна','927-217-66-77');
INSERTINTOComendantsVALUES (2,'Сидоров','Петр','Петрович','937-512-64-72');
INSERTINTOComendantsVALUES (3,'Хохлов','Василий','Иванович','45-34-86');
Листинг 1 - Заполнение БД
Рисунок 12 – Заполнение БД
Выводы по разделу
В данном разделе была спроектирована БД в среде EA и визуально представлена, затем перенесена в среду SQL, где была заполнена данными и представлена в виде схемы средствами SQL.
СОЗДАНИЕ И ЗАПУСК БАЗОВЫХ ЗАПРОСОВ SQL
Общие сведения
В данном разделе будет проводиться создание и запуск простых запросов к базе данных, в среде SQL. SQL запрос - это универсальный компьютерный язык, применяемый для создания, модификации и управления данными в реляционных базах данных. SQL является, прежде всего, информационно-логическим языком, предназначенным для описания, изменения и извлечения данных, хранимых в реляционных базах данных. SQL нельзя назвать языком программирования.
Изначально SQL был основным способом работы пользователя с базой данных и позволял выполнять следующий набор операций:
- создание в базе данных новой таблицы;
- добавление в таблицу новых записей;
- изменение записей;
- удаление записей;
- выборка записей из одной или нескольких таблиц (в соответствии с заданным условием);
- изменение структур таблиц.
Со временем SQL усложнился - обогатился новыми конструкциями, обеспечил возможность описания и управления новыми хранимыми объектами (например, индексы, представления, триггеры и хранимые процедуры) - и стал приобретать черты, свойственные языкам программирования.
При всех своих изменениях SQL остаётся единственным механизмом связи между прикладным программным обеспечением и базой данных. В то же время современные СУБД, а также информационные системы, использующие СУБД, предоставляют пользователю развитые средства визуального построения запросов.
Каждое предложение SQL — это либо запрос данных из базы, либо обращение к базе данных, которое приводит к изменению данных в базе. В соответствии с тем, какие изменения происходят в базе данных, различают следующие типы запросов:
- запросы на создание или изменение в базе данных новых или существующих объектов (при этом в запросе описывается тип и структура создаваемого или изменяемого объекта);
- запросы на получение данных;
- запросы на добавление новых данных (записей);
- запросы на удаление данных;
- обращения к СУБД.
Основным объектом хранения реляционной базы данных является таблица, поэтому все SQL-запросы — это операции над таблицами. В соответствии с этим, запросы делятся на:
- запросы, оперирующие самими таблицами (создание и изменение таблиц);
- запросы, оперирующие с отдельными записями (или строками таблиц) или наборами записей.
Запросы первого типа в свою очередь делятся на запросы, предназначенные для создания в базе данных новых таблиц, и на запросы, предназначенные для изменения уже существующих таблиц. Запросы второго типа оперируют со строками, и их можно разделить на запросы следующего вида:
- вставка новой строки;
- изменение значений полей строки или набора строк;
- удаление строки или набора строк.
Самый главный вид запроса — это запрос, возвращающий (пользователю) некоторый набор строк, с которым можно осуществить одну из трёх операций:
- просмотреть полученный набор;
- изменить все записи набора;
- удалить все записи набора.
Таким образом, использование SQL сводится, по сути, к формированию всевозможных выборок строк и совершению операций над всеми записями, входящими в набор.
Запросы на выборку данных
SELECT — оператор DML языка SQL, возвращающий набор данных (выборку) из базы данных, удовлетворяющих заданному условию.
В большинстве случаев, выборка осуществляется из одной или нескольких таблиц. В тех СУБД, где реализованы представления и хранимые процедуры, также возможно получение соответствующих наборов данных.
При формировании запроса SELECT пользователь описывает ожидаемый набор данных: его вид (набор столбцов) и его содержимое (критерий попадания записи в набор, группировка значений, порядок вывода записей и т. п.).
Запрос выполняется следующим образом: сначала извлекаются все записи из таблицы, а затем для каждой записи набора проверяется её соответствие заданному критерию. Если осуществляется слияние из нескольких таблиц, то сначала составляется произведение таблиц, а уже затем из полученного набора отбираются требуемые записи.
a) Выбрать все.
Для начала, выберем самый простой запрос, необходимый для визуализации данных, вывод всей информации о студентах.
Запрос SQL:
SELECT*
FROMStudents
Листинг 2 – Запрос SQL
Рисунок 13 – Результат запроса
b) Выбрать все и условие.
Если же нам нужно вывести список студентовc определённым номером зачётки, то будет использоваться запрос с условием.
Запрос SQL:
SELECT*
FROMStudents
whereNumberZachetkilike'09ВП118'
Листинг 3 – Запрос с условием
Рисунок 14 – Результат запроса
c) Выбрать что-то и условие:
Для выбора студентом комнаты с определённым кол-во мест, необходимо создать запрос с определенным условием:
Запрос SQL:
SELECTRoomCode
FROMRooms
whereKolvoMest='4'
Листинг 4 – Запрос с условием
Рисунок 15 – Результат запроса
d) Выбрать что-то и составное условие (И):
Если требуется вывести информацию о том, какой комендант прикреплён к общежитию, то стоит воспользоваться составным условием (И).
Запрос SQL:
SELECTComendantCode
FROMObsejitia
whereNumberObsejitia='1'andAddres='Стасова 36'
Листинг 5 – Запрос с условием (И)
Рисунок 16 – Результат запроса
e) Выбрать что-то и составное условие (ИЛИ):
Если нужно вывести фамилии студента по номеру зачётки или же по номеру комнаты, в которой он проживает, то стоит воспользоваться составным условием (ИЛИ).
Запрос SQL:
SELECTSurname
FROMStudents
whereNumberZachetki='11ВЕ222'orRoomCode='4'
Листинг 6 – Запрос с условием (ИЛИ)
Рисунок 17 – Результат запроса
3.3 Запрос на добавление и удаление записи
INSERT — оператор языка SQL, который позволяет добавить строки в таблицу, заполняя их значениями. Значения можно вставлять перечислением с помощью слова values и перечислив их в круглых скобках через запятую или оператором select.
Во время выполнения оператора могут возникнуть ошибки:
- если при создании таблицы для поля был указан параметр notnull, и не было определено значение по умолчанию, то при отсутствии для него вставляемого значения возникнет ошибка. Решение очевидно:
- либо убрать параметр notnull
- либо указать значение по умолчанию
- либо вставить значение
- если произойдет попытка вставки в поле с типом identity (автоинкремент), то также произойдет ошибка. Решить проблему можно двумя способами:
- не вставлять значение в это поле
- указать опцию identity_inserton после чего вставить уникальное значение для этого столбца.
Ниже представлены запрос SQL на вставку данных в таблицы, и результат выполнения.
Пример добавления в таблицу строки, с помощью команды INSERT. В данном случае запись нового студента.
Запрос SQL:
InsertIntoStudents(StudentCode,Surname,Name,SecondName,NumberZachetki,RoomCode)
Values (100,'Ололошов','Ололош','Петрович','11ЦУ222',10 )
Листинг 7 – Добавление записи
Рисунок 18 – Данные до добавления
Рисунок 19 – Процесс добавления данных и его результат
UPDATE используется для обновления информации в базе данных.
Далее рассмотрен пример изменения имени студента.
Запрос SQL:
updateStudents
setName='Стас'
whereStudentCode= 100
Листинг 9 – Обновление записи
Рисунок 24 – Данные до обновления
Рисунок 25 – Данные после обновления
Delete — операция удаления записей из таблицы. Критерий отбора записей для удаления определяется выражением where. В случае если критерий отбора не определён, выполняется удаление всех записей. При этом никакого результата команда не возвращает и, следовательно, не может быть использована в качестве параметра в команде SELECT. При удалении можно задавать конструкции JOIN связывающие несколько страниц, аналогично тому, как связываются таблицы в запросах выборки SELECT.
Пример удаления строки из таблицы.
Если вдруг студента отчислили, то удаляем его из БД следующим запросом:
deleteStudents
whereStudentCode= 100
Листинг 10 – Удаление записи
Рисунок 27 – Данные до удаления
Рисунок 28 – Данные после удаления
Выводы по разделу
В данном разделе, созданы и запущены основные запросы, по работе с одной таблицей, были добавлены новые студенты, так же проведено удаление строки из таблицы и обновление имени студента.
|