- •Роль проектирования данных в жизненном цикле информационных систем
- •Наиболее популярные средства проектирования данных
- •Заключение
- •Создание Логической модели бд в Visio
- •3.6 Пример построения подробной диаграммы «сущность – связь» для предметной области «Учебный процесс»
- •3.2.4 Креативная часть лабораторной работы:
- •Values (50766,'Инж.Графики','322223','Иванов а.К.');
- •Values (50763,'Комп.Технологии','123456',
- •Values ('Ахметова', 'Галия ', 'Сериковна', ' ', ' ',50763,77512);
- •Values ('Комп.Технологии', 50763, 'Куралбаев з.К. ','123456');
- •Абораторная работа 3.2 Проектирование системы базы данных средствами Microsoft Visio for Enterprise Architects
- •Обратите внимание
- •1.4.2.Сравнение инструментальных средств Visio, bpwin, aris и Rational Rose
- •Система построения диаграмм и бизнес-схем
- •Наглядное представление идей
- •Единый стандарт построения диаграмм
- •Оформление диаграмм
- •Картинки
- •Совместное использование диаграмм: Сохранение в виде web-страницы
- •Редактирование диаграмм в документах Office
- •Visio Network Tools — надстройка для Visio Professional 2002
- •Visual Basic для приложений
- •Сферы применения Visio
- •Основные возможности
- •Настройка и расширение Office Visio 2007
Values (50763,'Комп.Технологии','123456',
'Куралбаев З.К. ');
Создание записи «преподаватели». Так как значения для всех столбцов предоставлены и перечислены в том же порядке, что и столбцы в таблице, то не нужно в параметре column_list.указывать имена столбцов:
INSERT INTO DekanatSchema.Teacher
Values ('Ахметова', 'Галия ', 'Сериковна', ' ', ' ',50763,77512);
Создание нескольких записей в одной команде с использованием функции GETDATE():
INSERT INTO StudySchema.Progress(Stud_ID, Grup_ID,Subj_ID, Teach_ID, Pr_DATE, OCENKA)
VALUES (1, 1, 2, 1, GETDATE(),9),
(2, 1, 1, 1, GETDATE(),8),
(3, 2, 2, 3, GETDATE(),9);
Вставка данных в порядке, отличном от порядка столбцов таблицы
INSERT INTO DekanatSchema.Chair (Chair_NAME, Chair_ID, Chair_CHIEF, Chair_PHONE)
Values ('Комп.Технологии', 50763, 'Куралбаев з.К. ','123456');
2. Оператор ввода данных позволяет ввести сразу множество строк, если их можно выбрать из некоторой другой таблицы:
INSERT INTO имя_таблицы [(<список столбцов>) ]
SELECT <список полей> FROM ….
Допустим, что у нас есть таблица со студентами и в ней указаны основные данные о студентах: их фамилии, адреса, домашние телефоны и даты рождения.
Создадим таблицу Читательпри помощи оператора CREATE TABLE
CREATE TABLE REARDER
(ID_TICKET bigint,
R_Fam char(20) NOT NULL,
R_Name char(10),
R_OTCH char(15),
R_GRUP int,
R_YEAR datetime )
Тогда мы можем сделать всех студентов читателями нашей библиотеки одним оператором:
INSERT INTO REARDER (ID_TICKET, R_Fam , R_Name, R_OTCH,R_GRUP, R_YEAR )
SELECT Stud_ID as ID_TICKET,STUD_Fam as R_Fam,STUD_IMYA as R_Name, STUD_Otch as R_OTCH, Grup_Name as GRUP,
YEAR(Stud_Date) AS R_YEAR
FROM StudySchema.Students INNER JOIN StudySchema.Grup
ON StudySchema.Students.Group_Id= StudySchema.Grup.Grup_ID
В последнем случае, в таблицу может вставиться более одной записи. Если в таблице есть другие поля требующие заполнения, но не указанные в операторе INSERT, для них будет установлено значение по умолчанию, либо null, если значение по умолчанию не указано.
Так как стандарт языка SQL не предполагает наличия автоинкрементируемых полей, то соответственно не существует и единого подхода. Здесь мы покажем, как это реализуется в MS SQL Server. Оператор
SET IDENTITY_INSERT < имя таблицы > { ON | OFF };
Яндекс.Директ
Промышленный дизайнПроф. переподготовка дистанционно. Диплом. Все Регионы. Звоните!rostbk.comАдрес и телефон |
|
отключает (значение ON) или включает (OFF) использование автоинкремента. Поэтому чтобы вставить строку со значением 15 в поле code, нужно написать
SET IDENTITY_INSERT Chair ON;
INSERT INTO Chair (Chair_ID,Chair_NAME,Chair_PHONE, Chair_CHIEF)
Values (50766,'Инж.Графики','322223','Иванов а.К.');
Удаление строк из таблиц.
Это еще одна операция, которую необходимо уметь выполнять для поддержки базы данных. Для удаления строк из таблицы используется команда DELETE.
Синтаксис:
DELETE
[ FROM ] table_name
[ WHERE < search_condition > ]
Замечание:аргументы и ограничения рассматриваются в справке оператора DELETE
Примечания:
· если предложение WHERE не указано, DELETE удаляет все строки из таблицы;
· если указаны условия поиска, они применяется к каждой строке таблицы. Все строки, результат условий поиска для которых — TRUE, помечаются для удаления;
· до проведения удалений для каждой строки в таблице проводится оценка условий поиска;
· все строки, помеченные для удаления, удаляются в конце выполнения инструкции DELETE перед проверкой ограничения целостности;
· сбой инструкции DELETE может произойти, если она нарушит ограничение FOREIGN KEY. Если инструкция DELETE удаляет несколько строк и одна из них нарушает ограничение, происходит отмена инструкции и возврат ошибки, удаления строк не происходит.
Пример кода
В следующем примере показано удаление всех строк из таблицы «Преподаватели»:
В следующем примере показано удаление всех строк из таблицы «Преподаватели», для которых «Должность» равно «Ассистент»:
DELETE FROM DekanatSchema.Teacher
WHERE (Teach_Position= 'Ассистент');
Удаление записей из нескольких таблиц
При удалении можно задавать конструкции JOIN связывающие несколько страниц, аналогично тому, как связываются таблицы в запросах выборки SELECT:
DELETE <Имя записи для удаления> FROM <Имя Таблицы1> JOIN <Имя Таблицы2> ON <условие объединения>;
Удаление с подзапросом
DELETE FROM StudySchema.Students
WHERE Stud_ID IN
(SELECT Stud_ID
FROM StudySchema.Progress
WHERE Оценка = 2 OR Оценка IS NULL
GROOP BY Stud_ID
HAVING COUNT(*) > 2 )
В отличие от файловых СУБД, SQL Server не помечает записи как удаленные, а удаляет их физически, то есть восстановлению они не подлежат.
Будьте осторожны с командой DELETE!
Полная очистка всех строк
TRUNCATE — в языках, подобных SQL, DML - операция очистки всех строк в таблице. Логически эквивалентна операции DELETE без оператора WHERE, однако выполняется быстрее и требует меньших ресурсов системы
TRUNCATE TABLE <Имя Таблицы>
Последствием выполнения такой команды является полное удаление всех строк таблицы <Имя Таблицы>.
Отличия от оператора DELETE
Основные отличия операторов TRUNCATE и DELETE, которые могут присутствовать в различных реализациях СУБД:
· Операция TRUNCATE не записывает в журнал событий удаление отдельных строк. Вследствие чего не может активировать триггеры.
· После операции TRUNCATE для некоторых СУБД (например, Oracle) следует неявная операция COMMIT. Поэтому удаленные в таблице записи нельзя восстановить операцией ROLLBACK. Но существуют и СУБД, в которых операция TRUNCATE может участвовать в транзакциях, например, Microsoft SQL Server.
· Операция DELETE блокирует каждую строку, а TRUNCATE - всю таблицу.
· Операция TRUNCATE не возвращает какого-то осмысленного значения (обычно возвращает 0) в отличие от DELETE, которая возвращает число удаленных строк.
· Операция TRUNCATE в некоторых СУБД (например, MySQL или Microsoft SQL Server), сбрасывает значение счетчиков (для полей с AUTOINCREMENT / IDENTITY).
Вообще говоря, реализация оператора TRUNCATE может зависеть от выбора конкретной СУБД. Поэтому в каждом случае рекомендуется смотреть документацию выбранной системы.
Изменение значения поля
Для изменения существующих значений в столбцах таблицы используется инструкция UPDATE.
Яндекс.Директ
Курсы дляучителей информатики!Дистанционные курсы дляучителей информатики. ФИПКиП! Диплом! Идет набор! |
Интернет вчастный домРОСТЕЛЕКОМИнтернет 30-200 Мбит. Цифровое ТВ. Проверьте адрес на сайте РОСТЕЛЕКОМ! |
Синтаксис:
UPDATE table_name
[ WITH ( < table_hint > ) ]
SET
{ column_name = { expression | DEFAULT | NULL }} [ ,...n ]
[ WHERE < search_condition > ]
Замечание:аргументы и ограничения рассматриваются в справке оператора UPDATE
Примечания
• столбцы идентификаторов обновлять нельзя;
• если не указано предложение WHERE, обновляются все строки в таблице;
•перед обновлением строк в предложении WHERE проводится оценка условий поиска для каждой строки в таблице;
• если обновление строки нарушает ограничение или правило, либо настройку значения NULL для столбца, а также если новое значение является несовместимым типом данных, происходит отмена инструкции и возврат ошибки без обновления записей;
• все столбцы char имеют определенную границу по правому краю, до которой их можно заполнять;
• из данных, добавленных в varchar, удаляются все замыкающие пробелы, за исключением строк, содержащих только пробелы. Такие строки усекаются до одной пустой строки.
Пример
В следующем примере показано обновление таблицы преподавателей путем установления ученой степени преподавателю с порядковым номером 2:

Что
случилось в Нижнем Новгороде?Происшествия
и чрезвычайные ситуации в Нижнем
Новгородеyandex.ruНижний
Новгород