Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
метод указания по ЛР БД 2008-2009.doc
Скачиваний:
0
Добавлен:
03.01.2020
Размер:
237.57 Кб
Скачать

4 Практическая работа

4.1 Тема: Создание таблиц. Ввод исходных данных

4.2 Цель: научиться создавать физическую модель БД в СУБД Microsoft SQL Server 2000.

4.3 Оборудование, инструменты, расходные материалы:

  1. Персональный компьютер

  2. Программа SQL Server 2000 (утилиты Enterprise Manager, Query Analizer)

4.4 Теоретическая часть

Физическая модель БД создается после того, как будет определена целевая СУБД и создана даталогическая модель БД. Модель создается в два этапа: 1) создается файл БД с системными таблицами и журнал транзакций с помощью утилиты Enterprise Manager;

2) создаются пользовательские таблицы с помощью утилиты Query Analizer.

4.5 Выполнение работы

  1. Убедитесь в том, что создана даталогическая модель БД.

  2. С помощью утилиты Enterprise Manager создайте файл базы данных и журнал транзакций.

  3. С помощью утилиты Query Analizer создайте пользовательские таблицы, выполнив sql-скрипт.

4.6 Вывод

5 Практическая работа

5.1 Тема: Создание форм. Ввод исходных данных в формы. Редактирование данных

5.2 Цель: научиться выполнять основные технологические операции с данными в РБД.

5.3 Оборудование, инструменты, расходные материалы:

  1. Персональный компьютер

  2. Программа SQL Server 2000 (утилиты Enterprise Manager, Query Analizer)

5.4 Теоретическая часть

Основными технологическими операциями в РБД являются:

1) вставка данных в таблицу (insert);

2) изменение данных в таблице (update);

3) удаление данных (delete).

Синтаксис оператора INSERT:

INSERT [ INTO]     { table_name WITH ( < table_hint_limited > [ ...n ] )         | view_name         | rowset_function_limited     }     {    [ ( column_list ) ]         { VALUES             ( { DEFAULT | NULL | expression } [ ,...n] )             | derived_table             | execute_statement         }     }     | DEFAULT VALUES

< table_hint_limited > ::=     { FASTFIRSTROW         | HOLDLOCK         | PAGLOCK         | READCOMMITTED         | REPEATABLEREAD         | ROWLOCK         | SERIALIZABLE         | TABLOCK         | TABLOCKX         | UPDLOCK     }

Синтаксис оператора UPDATE:

UPDATE         {          table_name WITH ( < table_hint_limited > [ ...n ] )          | view_name          | rowset_function_limited         }         SET         { column_name = { expression | DEFAULT | NULL }         | @variable = expression         | @variable = column = expression } [ ,...n ]     { { [ FROM { < table_source > } [ ,...n ] ]         [ WHERE             < search_condition > ] }         |         [ WHERE CURRENT OF         { { [ GLOBAL ] cursor_name } | cursor_variable_name }         ] }         [ OPTION ( < query_hint > [ ,...n ] ) ]

< table_source > ::=     table_name [ [ AS ] table_alias ] [ WITH ( < table_hint > [ ,...n ] ) ]     | view_name [ [ AS ] table_alias ]     | rowset_function [ [ AS ] table_alias ]     | derived_table [ AS ] table_alias [ ( column_alias [ ,...n ] ) ]     | < joined_table >

< joined_table > ::=     < table_source > < join_type > < table_source > ON < search_condition >     | < table_source > CROSS JOIN < table_source >     | < joined_table >

< join_type > ::=     [ INNER | { { LEFT | RIGHT | FULL } [ OUTER ] } ]     [ < join_hint > ]     JOIN

< table_hint_limited > ::=     {    FASTFIRSTROW         | HOLDLOCK         | PAGLOCK         | READCOMMITTED         | REPEATABLEREAD         | ROWLOCK         | SERIALIZABLE         | TABLOCK         | TABLOCKX         | UPDLOCK     }

< table_hint > ::=     {    INDEX ( index_val [ ,...n ] )         | FASTFIRSTROW         | HOLDLOCK         | NOLOCK         | PAGLOCK         | READCOMMITTED         | READPAST         | READUNCOMMITTED         | REPEATABLEREAD         | ROWLOCK         | SERIALIZABLE         | TABLOCK         | TABLOCKX         | UPDLOCK     }

< query_hint > ::=     {    { HASH | ORDER } GROUP         | { CONCAT | HASH | MERGE } UNION         | {LOOP | MERGE | HASH } JOIN         | FAST number_rows         | FORCE ORDER         | MAXDOP         | ROBUST PLAN         | KEEP PLAN     }

Синтаксис оператора DELETE:

DELETE     [ FROM ]         { table_name WITH ( < table_hint_limited > [ ...n ] )          | view_name          | rowset_function_limited         }         [ FROM { < table_source > } [ ,...n ] ]

    [ WHERE         { < search_condition >         | { [ CURRENT OF                 { { [ GLOBAL ] cursor_name }                     | cursor_variable_name                 }             ] }         }     ]     [ OPTION ( < query_hint > [ ,...n ] ) ]

< table_source > ::=     table_name [ [ AS ] table_alias ] [ WITH ( < table_hint > [ ,...n ] ) ]     | view_name [ [ AS ] table_alias ]     | rowset_function [ [ AS ] table_alias ]     | derived_table [ AS ] table_alias [ ( column_alias [ ,...n ] ) ]     | < joined_table >

< joined_table > ::=     < table_source > < join_type > < table_source > ON < search_condition >     | < table_source > CROSS JOIN < table_source >     | < joined_table >

< join_type > ::=     [ INNER | { { LEFT | RIGHT | FULL } [OUTER] } ]     [ < join_hint > ]     JOIN

< table_hint_limited > ::=     { FASTFIRSTROW         | HOLDLOCK         | PAGLOCK         | READCOMMITTED         | REPEATABLEREAD         | ROWLOCK         | SERIALIZABLE         | TABLOCK         | TABLOCKX         | UPDLOCK     }

< table_hint > ::=     { INDEX ( index_val [ ,...n ] )         | FASTFIRSTROW         | HOLDLOCK         | NOLOCK         | PAGLOCK         | READCOMMITTED         | READPAST         | READUNCOMMITTED         | REPEATABLEREAD         | ROWLOCK         | SERIALIZABLE         | TABLOCK         | TABLOCKX         | UPDLOCK     }

< query_hint > ::=     { { HASH | ORDER } GROUP         | { CONCAT | HASH | MERGE } UNION         | FAST number_rows         | FORCE ORDER         | MAXDOP         | ROBUST PLAN         | KEEP PLAN     }

5.5 Выполнение работы

1) Заполните БД данными с помощью оператора insert. Необходимо вставить не менее 5 строк в каждую таблицу. Разместите операторы вставки в таблицы в логическом порядке, исходя из действия жестких ограничений ссылочной целостности. Оформите все операторы вставки в отдельный файл data.sql.

2) С помощью оператора update измените некоторые данные в таблицах БД.

3) С помощью оператора delete удалите выборочно некоторые строки из таблиц.

5.6 Пример выполнения работы

5.6.1 Вставка данных в базу данных

Вставка данных в таблицу «Издатель»:

insert into publisher values (1, 'BHV', 'Санкт-Петербург', '618900');

Вставка данных в таблицу «Книга»:

insert into Book values (1, 'Мастер и Маргарита', 'роман', 180, 300, 2000, '01.02.2005', 250, 3);

5.6.2 Изменение данных базе данных

Изменение столбца «Название» в таблице «Книга»:

update book set title = ‘Одноэтажная Америка’ where title = ‘одноэтажная америка’;

5.6.3 Удаление данных из таблиц базы данных

Удаление информации о книгах с ценой выше 1000 руб. из таблицы «Книга»:

delete from book where price > 1000;

5.7 Вывод