SELECT * INTO table_copy FROM original 3 страница

6. Охарактеризуйте числовые типы данных, применяемые в SQL Server.

7. Что означает термин «составной оператор присваивания»? Назовите разновидности этого оператора и приведите примеры использования.

8. Приведите свой пример, демонстрирующий преобразование типа:

a. дата в текст,

b. текст в число,

c. число в текст.

9. Чем отличается VARCHAR от CHAR?

10. В чем разница между NVARCHAR и VARCHAR?

11. Что означает тип INT?

12. Приведите форматы задания типа данных «Дата».

Лабораторная работа № 8

ЗАПРОСЫ С ИСПОЛЬЗОВАНИЕМ ОПЦИЙ IN, BETWEEN, LIKE, IS NULL

Порядок выполнения

1) Выполнить следующие запросы, используя указанные опции IN и/или BETWEEN. Вывести:

- список сданных экзаменов для трех студентов (фамилии (фамилии, а не идентификаторы!) студентов выберите сами). Выводной список должен включать идентификаторы студентов, фамилии студентов, название предмета и оценку (использовать опцию IN);

- список студентов, имеющих одно из двух выбранных Вами имен (использовать опцию IN). Выводной список должен включать фамилию и имя студента;

- список студентов, обучающихся на любых двух выбранных Вами курсах (использовать опцию IN);

- список студентов двух любых курсов, не являющихся студентами трех любых институтов/факультетов. Выводной список должен включать фамилию и имя студента, курс и наименование института/факультета. Номера курсов и наименования институтов/факультетов Вы определяете сами (использовать опции IN и BETWEEN);

- список фамилий студентов, начинающихся с букв из указанного Вами интервала (использовать опцию BETWEEN);

- список фамилий студентов, не начинающихся с букв из указанного Вами интервала (использовать опцию BETWEEN);

- список студентов, родившихся в указанный Вами интервал месяцев. Рекомендуется использование функции MONTH(date), возвращающей номер месяца года (сначала с опцией IN, затем с BETWEEN);

- список студентов, получающих одну из двух стипендий фиксированного уровня (например, 400 или 600 руб.).

2) Выполнить следующие запросы, используя опцию LIKE. Вывести:

- список студентов, фамилии которых начинаются с указанного Вами интервала букв и еще нескольких букв вне интервала;

- список студентов, фамилии которых начинаются с указанных Вами двух букв, а третья буква соответствует указанному набору букв;

- список фамилий студентов, начинающихся на выбранное Вами сочетание из двух первых букв фамилии;

- список фамилий студентов, оканчивающихся указанным Вами сочетанием букв (длина сочетания 3-4 символа);

- список фамилий, у которых третья-четвертая буквы с начала фамилии содержат указанное Вами сочетание букв;

- список фамилий, у которых третья-четвертая буквы с конца фамилии содержат указанное Вами сочетание букв;

- список, включающий фамилии, имена и отчества преподавателей, у которых первая буква фамилии и вторая буква имени заданы Вами,

- список фамилий и имен студентов, у которых имена состоят из указанного Вами количества букв (в разумных пределах),

3) Определить, в каких полях таблицы student значения не определены (NULL). Проанализировать результаты для случаев использования NULL в запросах операторов с применением and или or.

4) Предъявить результаты преподавателю. Объяснить их.

Контрольные вопросы

1. Объясните формат и приведите пример использования опции IN.

2. Объясните формат и приведите пример использования опции BETWEEN.

3. Объясните действие опции LIKE и приведите примеры ее использования.

4. Перечислите символы-шаблоны, используемые опцией LIKE, продемонстрируйте их действие на примерах.

5. Приведите формат функции MONTH, приведите пример использования.

6. Охарактеризуйте тип данных NULL.

7. Что представляет собой функция binary()?

8. Что означает предложение ESCAPE в опции LIKE?

Лабораторная работа № 9

ПРЕОБРАЗОВАНИЕ ВЫВОДА И ВСТРОЕННЫЕ ФУНКЦИИ

Порядок выполнения

1). Ознакомиться с назначением и форматами функций (см. приложение).

2) Выполнить преобразование числовых данных с использованием функций SIN, FLOOR, CEILING, EXP, SQRT, ROUND, MOD, LN, LOG10.

Аргументами функций могут быть числовые константы, числовые поля таблиц (но не поля идентификаторов записей), или выражения, использующие эти константы и поля. При этом обязателен вывод аргумента или выражения и результата, возвращенного функцией. Сформировать запросы и вывести их результаты в одном отчетном файле. Текст каждого запроса должен выводиться в отчетном файле непосредственно перед его результатом.

Для функций FLOOR, CEILING, ROUND, MOD аргументы должны иметь по две-три цифры слева и справа от десятичной точки. Для этих и ряда других функций (см. справочную систему) возможна альтернативная форма записи вида

{Fn floor(<аргумент>)}

Рекомендуется использование вложенных функций, при этом любые промежуточные результаты, применяемые в качестве аргументов, также должны распечатываться.

3) Преобразование текстовых данных с использованием функций объединения «+» или CONCAT, вхождения CHARINDEX, LEFT, замены подстроки REPLACE, удаления начальных (LTRIM) и конечных (RTRIM) пробелов, возвращения строки пробелов SPACE, возвращения подстроки SUBSTRING.

- вывести фамилии с инициалами для всех студентов, у которых фамилии начинаются с той же буквы, что и у Вас (если таких фамилий не обнаружится, то начинающихся с ближайшей следующей буквы алфавита):

- используя только LEFT,

- используя «+» и LEFT,

- то же с вставкой точек после инициалов и пробела после фамилии,

- определить вхождение первой буквы Вашей фамилии (строчной) в названия предметов обучения,

- создать строку вида (‘###############Иванов############’), используя в качестве центрального элемента фамилию преподавателя (таблица lecturer), а также функции LPAD, RPAD, LEN. Общая длина формируемой строки должна быть равна 6‑кратной длине Вашей фамилии. Фамилия преподавателя должна быть в середине этой строки,

- заменить любую выбранную Вами подстроку (1-4 символа) в поле subj_name на Вашу фамилию,

- определить вхождение части Вашей фамилии в название дисциплин (таблица subject).

4) Преобразовать данные типа даты с использованием функций возвращения текущей даты SYSDATETIME, GETDATE (используя дополнительные команды SELECT), добавления времени к значению даты DATEADD, определения компонентов даты DATENAME с разными аргументами, MONTH, DAY, YEAR, используя в качестве основы для преобразований любое поле типа даты (например, дата рождения студента или дата сдачи экзамена). Количество записей в любой выборке не должно превышать двух-трех.

5) Используя функцию DATEDIFF определить количество месяцев между датами рождения первого и последнего в списке студентов (в таблице student). Определить разницу в возрасте между самым младшим и самым старшим студентами (в днях, неделях, месяцах, годах) выбранного Вами института.

Контрольные вопросы

1. Объедините три текстовых компонента ('Вася', 'любит', 'Машу') с помощью функции CONCAT.

2. Укажите другой способ решения этой задачи.

3. Что определяет функция CHARINDEX?

4. Как выделить из данного типа даты год, месяц, число?

5. В чем разница между функциями SYSDATETIME и GETDATE?

6. Приведите пример использования вложенных функций (не из номенклатуры заданий лабораторной работы).

7. Как округлить наличность в кармане с точностью до тысячи рублей.

8. Как сосчитать корень n-ой степени от числа R? R определите сами.

9. Каков формат функции DATEADD? Продемонстрируйте использование функции на примере.

10. Объясните и продемонстрируйте на примере использование функции SPACE.

11. Опишите формат команды DATEDIFF и приведите пример ее практического применения.

12. Параметром какой функции является DATEPART?

Лабораторная работа № 10

СТАТИСТИЧЕСКИЕ ФУНКЦИИ SQL SERVER.

(COUNT(), MIN(), MAX(), SUM(), AVG())

Порядок выполнения

1) Подсчитать количество записей в таблице student.

2) Подсчитать количество студентов, проживающих в общежитии.

3) Подсчитать количество записей в таблице student, не содержащих значений NULL.

4) Подсчитать количество записей в выборке (COUNT(столбец)) для таблицы student (поля family, stipendia, room_camp) c использованием и без использования условий отбора (условия определяются Вами, но должны быть приведены в файле отчета – не менее трех различных условий разного типа для каждого поля).

5) Выбор минимального, максимального или среднего значения MIN (MAX или AVG) по двум-трем полям (поля выбираются Вами или указываются преподавателем).

- определить длину самой короткой и самой длинной фамилии студентов (таблица student) из числа тех, которые начинаются с первой буквы Вашей фамилии;

- определить среднюю длину наименования предметов, округленную до целого числа;

- определить наибольшее суммарное количество символов в фамилии, имени и отчестве студентов;

- определить средний возраст студентов первого курса в годах.

6) Вывести статистические результаты по всем числовым полям учебной базы данных за исключением идентификационных кодов.

7) Для студентов определить все 5 основных статистических характеристик их возраста (в годах) и, дополнительно, дисперсии и среднеквадратичные отклонения.

8) Используя группировку (GROUP BY …), получить данные о количестве студентов для всех курсов. Вывести номера курсов и количество студентов на каждом курсе. Выполнить сортировку выводимых данных по возрастанию и по убыванию, используя следующие способы задания столбцов сортировки:

а) по имени столбца,

б) по псевдониму,

в) по номеру столбца.

9) Получить сведения о среднем балле успеваемости для студентов первого-третьего курсов. Список упорядочить по убыванию по полю курс. Вывести номера курсов и средний балл.

10) Выполнить действия по п. 8. Список упорядочить по убыванию среднего балла.

11) Определить для каждого курса средний балл успеваемости по студентам, получившим золотые медали в школе. Список упорядочить по возрастанию номеров курсов.

12) Получить сведения о среднем балле успеваемости для студентов, получающих стипендию, для курса, выбранного Вами.

13) Получить сведения о величине среднего балла оценок, выставляемых студентам первого курса преподавателями. Вывести фамилии преподавателей и средний балл.

14) Вывести сведения о величине среднего балла для преподавателей, у которых этот балл выше трех. Список вывода: фамилии преподавателей и средний балл.

15) Вывести данные о суммарной величине стипендии по годам рождения студентов.

16) Определить количество преподавателей для различных институтов. Вывести количество преподавателей и названия институтов.

17) Определить среднюю разницу в возрасте между студентами первого и пятого курсов (по таблице student).

18) Для студентов выбранного Вами института определить количество полученных различных оценок на экзаменах и среднеквадратичные отклонения для каждой оценки.

19) Результаты работы (с выводом запросов и результатов) предъявить для проверки преподавателю.

20) Подсчитать количество студентов-медалистов из различных городов.

Контрольные вопросы

1. В чем состоит основное назначение статистических функций?

2. Чем отличаются результаты вычисления функции COUNT() для случаев, когда аргументом функции является звездочка (*) или имя поля?

3. В каких опциях команды можно использовать статистические функции?

4. Приведите формат опции GROUP BY.

5. Предложите свой вариант примера, демонстрирующий применение опции GROUP BY.

6. Для чего используется опция HAVING?

7. В чем разница между условиями, накладываемыми опциями WHERE и HAVING?

8. Как производится сортировка данных, получаемых в результате выполнения запроса?

9. Продемонстрируйте работу опций GROUP BY и HAVING на дополнительном примере.

10. Продемонстрируйте различные способы задания сортировки.

Лабораторная работа № 11

СОЗДАНИЕ И УДАЛЕНИЕ ОБЪЕКТОВ БАЗЫ ДАННЫХ. (DROP, CREATE, DELETE, INSERT)

Порядок выполнения

Внимание!

После каждого изменения структуры таблицы или команд добавления/удаления записей предусмотреть команду вывода всех записей изменяемой таблицы.

1) Изучите синтаксис команд удаления и создания (DROP и CREATE) баз данных (DATABASE), таблиц (TABLE), индексов (INDEX), умолчаний (DEFAULT), процедур (PROCEDURE), функций (FUNCTION), ролей (ROLE), схем (SCHEMA).

2) Средствами Transact-SQL cоздайте базу данных для выполнения лабораторных работ 11-12. Имя этой базы данных состоит из номера группы и Вашей фамилии (например, КТ‑406_Иванов_лаб11-12).

3) Используя графический интерфейс, познакомьтесь с параметрами созданной базы данных. Для этого в обозревателе объектов выделите имя созданной базы данных и вызовите контекстное меню. Внимательно изучите состав и назначение опций.

4) С помощью команды DROP DATABASE удалите созданную базу данных.

5) С помощью справочной системы познакомьтесь с синтаксисом инструкции CREATE TABLE. Снова создайте ту же базу данных.

6) Изучите:

a) наиболее широко используемые типы данных, используемые для полей таблиц в MSSQL (см. приложение 2),

b) синтаксис команд удаления и вставки записей (DELETE, INSERT).

7) Средствами Transact-SQL:

· создайте в указанной базе данных таблицу avto с полями (CREATE TABLE):

o Номер записи,

o Марка автомобиля,

o Год выпуска,

o Дата покупки,

o Фамилия покупателя,

· введите 5 записей (INSERT). Дважды отсортируйте таблицу по полю, выбранному Вами, задавая это поле его именем или псевдонимом,

· удалите первые три записи таблицы avto. (DELETE, опция TOP),

· удалите одну из оставшихся записей (опция PERCENT),

· удалите оставшуюся запись таблицы avto.

8) Средствами Transact-SQL:

· создайте таблицу tovar с полями:

o Номер записи,

o Наименование изделия,

o Поставщик,

o Марка изделия,

o Дата выпуска,

o Цена,

o Дата покупки,

o Фамилия покупателя,

· должны быть обеспечены следующие возможности таблицы:

o поле Номер записи – первичный ключ, заполняемый автоматически,

o поле Дата покупки заполняется по умолчанию (соответствует дате проведения занятия),

o все поля (за исключением поля Дата Выпуска) не допускают значения NULL,

· введите в таблицу tovar 8 записей,

· создайте запрос и выведите все записи из таблицы. Вывод выполнить с сортировкой по двум вариантам: по возрастанию и по убыванию, задавая столбец сортировки по имени и/или по номеру,

· удалите все записи из любой таблицы по Вашему выбору, содержащие значения NULL.

9) Выберите пункт главного меню SSMS Вид\Обозреватель шаблонов. Познакомьтесь с составом и структурой шаблонов, используемых для создания и удаления баз данных (database), таблиц (table), представлений (view), индексов (index), функций (function), триггеров (trigger) и т.д.

10) Создайте базу данных hospital. При создании таблиц для этой БД предусмотрите поля для создания уникальных индексов, а также поля, которые должны заполняться автоматически.

11) Создайте таблицу pacient с полями:

o код пациента,

o фамилия пациента,

o пол пациента,

o дата рождения пациента,

o домашний адрес пациента (не менее трех полей),

o код лечащего врача,

o диагноз,

o номер палаты.

12) Создайте таблицу doctor с полями:

o код лечащего врача,

o фамилия лечащего врача,

o категория,

o телефон лечащего врача.

13) Создайте таблицу palata с полями:

o номер палаты,

o этаж,

o отделение,

o количество мест,

o вид палаты (мужская, женская).

14) Введите записи в таблицы средствами Transact-SQL (INSERT);

- во все поля записей всех трех созданных баз (10 записей в первую таблицу и по 5-6 записей во вторую и третью таблицы),

- в отдельные поля записей (3-5 записей).

15) Проанализируйте содержание полей различного типа, допускающих (NULL) и не допускающих (NOT NULL) наличие неопределенных значений для случаев, когда в эти поля вводятся или не вводятся какие-то данные.

16) Средствами T-SQL для базы данных hospital создайте в редакторе (используя окно «Конструктор запросов» !!!) и выполните следующие запросы, обеспечивающие вывод данных из полей связанных таблиц:

o фамилии пациентов и их лечащих врачей,

o фамилии врачей, поставивших диагноз, выбранный Вами,

o фамилии лечащих врачей, поставивших этот диагноз пациентам мужского (или женского – по Вашему выбору) пола старше (или младше) выбранного Вами возраста. В список вывода, кроме фамилий врачей, включить фамилии пациентов, их пол, возраст,

o фамилии всех пациентов выбранного Вами отделения,

o фамилии пациентов с диагнозом «пневмония», а также фамилии врачей, поставивших этот диагноз, и номера палат, в которых лежат эти больные,

o количество пациентов мужского и женского пола для каждого лечащего врача,

o количество пациентов мужского и женского пола по видам болезней,

o количество и средний возраст больных для каждого лечащего врача,

o вывод данных о количестве больных по тем болезням, по которым это количество превышает установленный порог (например, три человека).

9) Предъявите файл результатов преподавателю. Объясните результаты

Контрольные вопросы

1. Какие параметры требуется определить при создании базы данных?

2. Что представляют собой файлы с расширением MDF? NDF?

3. Какие символы недопустимы при обозначении имен баз данных?

4. Что понимается под термином «файловая группа»? Зачем нужны файловые группы?

5. Какой начальный размер устанавливается для базы данных?

6. Что такое «авторасширение»?

7. Какова последовательность создания базы данных с помощью сценария (шаблона)?

8. Приведите синтаксис инструкции создания базы данных. Объясните назначение опций.

9. Приведите синтаксис инструкции создания таблицы базы данных. Объясните назначение опций и характеристики, назначаемые для полей.

10. Опишите правила применения опции ORDER BY для различных способов задания поля сортировки. Продемонстрируйте на примерах.

11. Как влияют на результат функции COUNT() значения NULL, если:

a. поле, содержащее такие значения, включено в качестве аргумента функции (т.е. COUNT(имя поля));

b. используется функция COUNT() без параметра.

Приведите подтверждающие примеры

12. Продемонстрируйте создание дополнительного запроса с использованием Конструктора запросов.

13. Покажите полный синтаксис команды SELECT со всеми известными Вам на текущий момент опциями.

Лабораторная работа № 12

МАНИПУЛИРОВАНИЕ ДАННЫМИ. (INSERT, UPDATE)

Порядок выполнения

Внимание!

После выполнения каждой инструкции, изменяющей таблицу базы данных, предусмотреть команду вывода измененной таблицы.

1) Добавьте записи в таблицу tovar с помощью серии команд INSERT;

- во все поля записей (5 записей),

- в отдельные поля записей (3-5 записей),

- в те же поля, что и в предыдущем пункте, но в другом порядке (2‑3 записи).

2) Проанализируйте содержание записей (для каждого поля), в которых данные введены не во все поля.

3) Добавьте в таблицу tovar с помощью одной команды INSERT серию из 8 записей.

4) Удалите 5 строк таблицы поштучно пятью отдельными командами DELETE с разными условиями (условия создаете на Ваш вкус).

5) Восстановите все записи таблицы.

6) Создайте индексы для таблицы Tovar (команда CREATE INDEX):

- по одному полю (например, по полю фамилия покупателя или по другому - на Ваш выбор);

- по двум полям (например, по полям фамилия покупателя и дата покупки или марка изделия и дата выпуска).

7) Удалите все введенные записи из таблицы с использованием DELETE.

8) Повторно введите данные во все поля таблицы, но таким образом, чтобы нумерация записей начиналась с 500.

9) Удалите все записи.

10) Повторно введите 10 записей, половина которых пронумерована числами из интервала от 100 до 200, а половина – из интервала от 200 до 300 (по Вашему выбору).

11) Удалите записи по условию, используя предложение WHERE двумя-тремя отдельными командами с разными условиями.

12) Создайте таблицу tovar1 со структурой, аналогичной структуре таблицы tovar (использовать команду SELECT INTO).

Обратите внимание! С помощью команды SELECT INTO можно скопировать только структуру таблицы, задав такое условие отбора, которое не выполнится ни разу (см. приложение 3).

13) Используя вложенный запрос, введите в таблицу tovar1 все записи из таблицы tovar, относящиеся к товару с выбранным Вами наименованием изделия (SELECT … ). Последние 2 задания выполнять именно по частям, а не одной командой.

14) Создайте таблицу tovar2, скопировав в нее одной командой структуру таблицы tovar и данные, выбранные Вами с помощью опции WHERE.

15) Ознакомьтесь с синтаксисом команды UPDATE. Для получения помощи по команде достаточно в окне редактора SQL ввести слово ‘update’, выделить его и нажать клавишу «F1».

16) Обновите содержимое таблицы tovar2 (одно-два поля в одной команде) средствами UPDATE:

· нескольких начальных записей,

· нескольких записей, задав их количество в виде процентной доли,

· нескольких записей, отобранных с помощью предложения WHERE… по Вашему усмотрению,

· нескольких полей и записей с использованием составных операторов присваивания типа +=, ‑= и др.

17) Файл вывода предъявите преподавателю для защиты результатов.

Контрольные вопросы

1. Опишите формат команды CREATE INDEX.

2. Как задать начальное значение для индекса?

3. Какая опция команды CREATE создает в таблице столбец идентификаторов? Каковы правила применения этой опции?

4. Как работает команда SELECT INTO?

5. Каков формат команды UPDATE?

6. Как выполнить обновление таблицы, совмещенное с одновременной обработкой существующих данных? Приведите пример, демонстрирующий такую обработку.

7. Что значит термин «Уникальный индекс»? Для чего нужен уникальный индекс?

8. Что означает термин «Первичный ключ»?

9. Для чего используется внешний ключ?

10. Чем отличается кластеризованный индекс от некластеризованного?

11. Сколько кластеризованных индексов может быть создано в базе данных? Таблице?

12. Какова область действия команды UPDATE?

13. Назовите функции предложения SET команды UPDATE.

14. Как создать копию таблицы (средствами T-SQL)?

15. Как скопировать структуру данных из одной таблицы в другую?

16. Что понимается под термином «Вложенный запрос»?

17. Покажите полный синтаксис команды INSERT.

18)

Лабораторная работа № 13

ОБЕСПЕЧЕНИЕ ЦЕЛОСТНОСТИ. ОГРАНИЧЕНИЯ НА МНОЖЕСТВО ДОПУСТИМЫХ ЗНАЧЕНИЙ ДАННЫХ. (NOT NULL, DEFAULT, UNIQUE, CHECK, ALTER TABLE)

Порядок выполнения

1) В базе данных hospital создайте и заполните 5 записями таблицу diagnoz, второй и четвертый столбцы которой (см. ниже список полей по порядку) допускают неопределенные значения. Поля таблицы:

· Код пациента,

· Диагноз,

· Температура тела,

· Артериальное давление,

· Пульс,

· Частота дыхания,

· Дата поступления.

2) Сосчитайте количество записей в таблице с использованием

· COUNT(*),

· COUNT(имя поля), используя поля Диагноз или Артериальное давление,

· COUNT(имя поля), используя любое другое поле.

3) Для всех больных, поступивших в указанный Вами день, увеличить на 15% введенное выше значение пульса и на 0,5 градуса значение температуры (UPDATE).

4) Создайте таблицу worker и заполните ее 10 записями, предусмотрев ввод значений по умолчанию (DEFAULT) для последних четырех полей приведенного ниже списка (значения по усмотрению студента). Поля таблицы:

· табельный номер, автоматическое увеличение,

· фамилия, и.о., (3 поля) заполнение обязательно,

· дата рождения, заполнение обязательно,

· пол,

· место работы,

· должность,

· дата приема на работу.

Обратите внимание!

Для ввода значений по умолчанию достаточно пропустить в команде INSERT имена полей, для которых указана опция DEFAULT.

4) Модифицируйте структуру таблицы worker (назвать worker1) и заполните 5 записями, предусматривая заполнение только уникальных комбинаций полей (фамилия и дата рождения) в таблицу. Проанализируйте, что будет при повторном вводе уникальной комбинации полей.

5) Модифицируйте структуру таблицы worker1, введя проверки вводимых значений в поля таблицы:

· Принимаемые на работу должны быть не моложе 18 лет,

· Принимаются только мужчины (или женщины – на Ваш вкус),

· На определенные (Вами) должности принимаются только мужчины (или женщины).

· На работу принимаются мужчины в возрасте от 18 до 60 лет и женщины – от 18 до 55 лет.

· Женщины принимаются на работу в один список подразделений, мужчины – в другой. Списки могут частично перекрываться.

Обратите внимание!

Для того, чтобы добавить проверку условий (CHECK), надо в описание соответствующего поля добавить условие проверки (например,

CHECK (pol='м' OR pol='ж')) или

CHECK (pol IN('м','ж')).

Это – условие на одно поле.

Можно также добавлять проверку условий сразу для нескольких полей. Пример такой проверки приведен ниже:

CHECK ((dolgn='Формовщик' AND pol='м') OR (pol='м') OR (pol='ж'))

6) Файл вывода предъявите преподавателю и объясните полученные результаты.

Контрольные вопросы

1. Как обеспечить ввод данных по умолчанию? Покажите на примере.

2. Как обеспечивается автоматическое увеличение данных в поле? Когда это актуально?

3. Как скопировать структуру данных из одной таблицы в другую?

4. Что такое целостность?

5. Какие виды ограничений целостности Вы знаете?

6. Где размещаются ограничения CHECK?

7. Сколько ограничений может создаваться для таблицы? Для поля?

8. Приведите пример использования ограничений.

9. Относится ли к классу ограничений UNIQUE? PRIMARY KEY? FOREIGN KEY?

10. Является ли ограничением использование опций NULL и DEFAULT.

11. Как создать ограничение средствами графического интерфейса?

12.

Лабораторная работа № 14

ИЗМЕНЕНИЕ И УДАЛЕНИЕ ТАБЛИЦЫ. (ALTER TABLE, ADD, DROP)

Порядок выполнения

Внимание!

После каждого изменения состояния таблицы вывести в файл результатов структуру и все данные этой таблицы.

1. Средствами Transact-SQL cоздать базу данных для выполнения лабораторной работы 14. Имя этой базы данных состоит из номера группы и Вашей фамилии (например, КТ‑406_Иванов_лаб14).

2. Создать и заполнить таблицу car с полями:

· модель,

· год выпуска,

· страна выпуска,

· пробег,

· цвет,

· цена;

3. Изменить таблицу car с помощью команды ALTER, обеспечив:

· добавление одного нового столбца в таблицу (опция ADD), допускающего NULL и не имеющего значений,

Наши рекомендации