SQL – текст: ALTER TABLE Customer DROP COLUMN Discount Содержательная интерпретация: Данный запрос удаляет столбец Discount из таблицы Customer.

1
ВВОД SQL – ИНСТРУКЦИЙ СРЕДСТВАМИ QUERY ANALYSER

          1 Цель работы – приобретение студентами практических навыков применения специализированной утилиты Query Analyser при работе с данными в форме таблиц.
          2 Тексты и результаты выполнения SQL-запросов и их содержательная интерпретация
          В специализированной утилите Query Analyser с помощью инструкции CREATE TABLE была создана таблица autxxx с перечисленными ниже столбцами.
SQL – текст:
CREATE TABLE [autxxx] ( [au_id] [id] NOT
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
· Содержательная интерпретация: Данный запрос формирует таблицу БД autxxx со всеми включенными в неё столбцами (см. рис. 1).
[ Cкачайте файл, чтобы посмотреть картинку ] Рисунок 1 - Результат выполнения запроса
           Добавление в таблицу новой строки осуществляется, с использованием инструкции INSERT.
SQL – текст:
INSERT INTO autxxx (au_id , au_lname , au_fname , phone, address , city , state, zip, contract) VALUES (555, 'Юлия', 'Данилова', '48-88-89', 'Тепличная,10', 'Penza', 'MS', 1215, 1)
          Содержательная интерпретация: Данный запрос производит запись таблицу autxxx (см.рис.2).
[ Cкачайте файл, чтобы посмотреть картинку ] Рисунок 2 - Результат выполнения запроса с помощью инструкции INSERT.
           Выборка данных из таблицы осуществляется с помощью инструкции SELECT.
SQL – текст:
SELECT DISTINCT * FROM autxxx ORDER BY au_id
          Содержательная интерпретация: Данный запрос производит выборку всех полей, отсортированных по полю au_id (код). Результат выполнения запроса представлен на рисунке 3.
[ Cкачайте файл, чтобы посмотреть картинку ] Рисунок 3 - Результат выплнения запроса с помощью инструкции SELECT
          Для удаления строки из таблицы предназначена инструкция DELETE.
SQL – текст:
DELETE FROM autxxx WHERE au_id = 555
           Содержательная интерпретация: Данный запрос удаляет запись из таблицы autxxx, идентификатор которой равен 555. Результат выполнения запроса представлен на рисунке 4.
[ Cкачайте файл, чтобы посмотреть картинку ] Рисунок 4 - Результат выполнения запроса с помощью инструкции DELETE
          Обновление конкретной строки осуществляется с использованием инструкции UPDATE.
SQL – текст:
UPDATE autxxx SET address = 'Аустрина, 146' WHERE au_id = 723
          Содержательная интерпретация: Данный запрос производит обновление адреса в строке, у которой идентификатор равен 723. Результат выполнения представлен на рисунке 5.
[ Cкачайте файл, чтобы посмотреть картинку ] Рисунок 5 - Результат выполнения запроса с помощью инструкции UPDATE.
          Вывод: при выполнении данной лабораторной работы мы изучили и приобрели практические навыки применения специализированной утилиты Query Analyzer при работе с данными в форме таблиц.            Произвели выполнение важнейших инструкций CREATE TABLE, SELECT, INSERT, UPDATE, DELETE заданных SQL-запросов и проинтерпретировали результаты выполнения запросов.
          Контрольные вопросы

          Вопрос 1. Каким образом осуществляется вызов справки по SQL-инструкции в среде Query Analyzer?
          Вопрос 2. Каким образом выполняется синтаксический анализ введенных SQL-инструкций?
    Вопрос 3. Как сохранить SQL-инструкцию, введенную в окне редактора Query Analyzer, в текстовом файле?
          Вопрос 4. Какие основные функции панели Object Browser утилиты Query Analyzer?
Вопрос 5. Каким образом выполняется размещение кода шаблона SQL-инструкции в окне редактора Query Analyzer?
П.Р. №2
Изучение сложных элементов языка манипулирования данными

          1 Цель работы: приобретение практических навыков разработки SQL-инструкций с использованием операторов объединения и предикатов.
          2  Задание
          Изучить состав таблиц БД pubs: authors (авторы), publishers (издательства), titles (книги), titleauthor (отношения между titles и authors), дать содержательную интерпретацию SQL-запросам в соответствии с вариантом задания, выполнить их на SQL-сервере, составить SQL-запросы по их заданному содержательному описанию и выполнить эти запросы.
          3 Выполнение работы
         Блок А (вариант 8) 
        Составим содержательное описание запросам в соответствии с вариантом задание
9) SELECT DISTINCT city        FROM authors ORDER BY city DESC
      Содержательное описание: Выбрать города, в которых проживают авторы. Результат отбора упорядочить по убыванию.
[ Cкачайте файл, чтобы посмотреть картинку ] Рисунок 1 - Результат выполнения запроса
20) SELECT type, title_id, price FROM titles WHERE title_id like “B_2075”
        Содержательное описание: Выбрать тип и цену книги, идентификатор которой равен B_2075’
[ Cкачайте файл, чтобы посмотреть картинку ] Рисунок 2 - Результат выполнения запроса
34) SELECT type, MIN(price), MAX(price) FROM titles GROP BY type ORDER BY type
        Содержательно описание: Выбрать максимальную и минимальную цену каждого типа книг.
[ Cкачайте файл, чтобы посмотреть картинку ] Рисунок 3 - Результат выполнения запроса
55) SELECT au_lname, au_fname, title FROM authors a, titles t, titleauthor ta WHERE ta.title_id=t.title_id AND a.au_id=ta.au_id AND type= “popular_comp”
       Содержательное описание: Выбрать имена и фамилии авторов книг и названия этих книг, относящихся к типу “popular_comp”
[ Cкачайте файл, чтобы посмотреть картинку ] Рисунок 4 - Результат выполнения запроса
71) SELECT DISTINCT p.city, p.state FROM publishers p WHERE NOT EXISTS (SELECT * FROM authors a WHERE p.city=a.city AND p.state=a.state)
       Содержательное описание: Выбрать город и штат, в котором расположено издательство, но в котором не живут авторы.
[ Cкачайте файл, чтобы посмотреть картинку ] Рисунок 5 - Результат выполнения запроса
79) SELECT au_lname, au_fname, price FROM authors a, titles t, titleauthor ta, publishers p WHERE ta.title_id=t.title_id AND a.au_id=ta.au_id AND t.pub_id=p.pub_id AND country=’USA’ AND price= (SELECT MIN(price) FROM titles tt, publishers pp WHERE tt.pub_id=pp.pub_id GROUP BY country HAVING country=’USA’)
       Содержательно описание: Выбрать фамилии и имена авторов, а также минимальную цену книг, выпущенных в США.
[ Cкачайте файл, чтобы посмотреть картинку ] Рисунок 6 - Результат выполнения запроса
95) SELECT city, state FROM authors WHERE state IS NOT NULL UNION SELECT city, state FROM publishers WHERE state IS NOT NULL ORDER BY city DESC, state ASC
       Содержательно описание: Выбрать города и штаты, в которых живут авторы и в которых расположены издательства. Результат упорядочить по убыванию городов.
[ Cкачайте файл, чтобы посмотреть картинку ] Рисунок 7 - Результат выполнения запроса
Блок Б (вариант8)
       Составим SQL-запросы по их заданному содержательному описанию
       2) Выбрать имена и фамилии авторов, проживающих в Калифорнии.
SELECT au_lname,au_fname FROM authors WHERE state='CA'
[ Cкачайте файл, чтобы посмотреть картинку ] Рисунок 8 - Результат выполнения запроса
       10) Выбрать имена и фамилии всех авторов, упорядоченные по возрастанию фамилий авторов.
SELECT au_lname,au_fname FROM authors ORDER BY au_lname
[ Cкачайте файл, чтобы посмотреть картинку ] Рисунок 9 - Результат выполнения запроса
       32) Выбрать все книги издательства Algodata Infosysytems. В запросе использовать подзапрос для определения нужного идентификатора издателя. В условии поиска использовать предикат “=”. В выбираемые данные включить название книги.
SELECT title FROM titles WHERE pub_id=(SELECT DISTINCT pub_id FROM publishers WHERE pub_name='Algodata Infosystems')
[ Cкачайте файл, чтобы посмотреть картинку ] Рисунок 10 - результат выполнения запроса
       64) Определить авторов из городов, начинающихся с букв “A”, “B” или “C” или имеющих в своем составе слово “Salt”, и написавших книги, в названии которых есть определенный или неопределенный артикль английского языка.
SELECT DISTINCT a.au_lname,a.au_fname FROM authors a,titleauthor ta,titles t WHERE a.au_id=ta.au_id AND ta.title_id=t.title_id AND (a.city LIKE '[A-C]%' OR a.city LIKE '%Salt%' OR t.title LIKE '% A %' OR t.title LIKE '%the%')
[ Cкачайте файл, чтобы посмотреть картинку ] Рисунок 11 - Результат выполнения запроса
       71) Найти издательство, выпустившее свою самую дорогую книгу с наиболее низкой ценой среди всех издательств. В запросе использовать подзапрос, определяющий максимальные цены книг, выпущенные каждым издательством.
SELECT p.pub_id, pub_n
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
· Рисунок 12 - Результат выполнения запроса
       82) Определить книги, число продаж для которых не определено.
SELECT title FROM titles where ytd_sales IS NULL
[ Cкачайте файл, чтобы посмотреть картинку ] Рисунок 13 - Результат выполнения запроса
       89) Определить штаты и число находящихся в них издательств, выпустивших книги.
SELECT state, COUNT(DISTINCT pub_name) 'Kolvo_publishers' FROM publishers p, titles where titles.pub_id=p.pub_id GROUP BY state
[ Cкачайте файл, чтобы посмотреть картинку ] Рисунок 14 - Результат выполнения запроса
       95) Вычислить для каждого типа книг среднее арифметическое минимальной и максимальной цены. Результат упорядочить по убыванию значений.
SELECT type, (MIN(price)+MAX(price))/2'avg' FROM titles GROUP BY type ORDER BY 'avg' DESC
[ Cкачайте файл, чтобы посмотреть картинку ] Рисунок 15 - Результат выполнения запроса
       Вывод: в результате проделанной работы были приобретены практические навыки по составлению SQL–инструкций с использованием сложных элементов языка манипулирования данными.
Контрольные вопросы

       Вопрос 1. Каким образом выполняется отбор строк в результирующей таблице с использованием предложений WHERE , HAVING?
       Вопрос 2. Как осуществляется задание в инструкции SQL объединение определения представления с определением запроса на выборку?
       Вопрос 3. Какие скалярные функции (rows function) и агрегатные функции (column function) определены в языке манипулирования данными?
       Вопрос 4. Каким образом применяется предложение GROUP BY к подгруппам строк, отобранных инструкцией SELECT?
.       Вопрос 5. Каким образом выполняется сортировка строк результирующей таблицы с применением предложения ORDER BY?
         Вопрос 6. Как задается объединение двух таблиц с использованием предложения FROM и оператора JOIN в инструкции SQL?
       Вопрос 7. Каким образом задается объединение в результирующей таблице двух или более предложений с использованием оператора UNION?

П.Р. №3
Элементы определения данных с помощью SQL - языка

          1 Цель работы: приобретение студентами практических навыков разработки баз данных с использованием инструкций языка определения данных.
          2 Тексты и результаты выполнения SQL-запросов и их содержательная интерпретация
          В специализированной утилите Query Analyser с помощью инструкции CREATE DATABASE была создана база данных MyBasat.
SQL – текст:
create database MyBasat
          Содержательная интерпретация: Данный запрос формирует саму БД.           Результат выполнения запроса:
The CREATE DATABASE process is allocating 0.75 MB on disk 'MyBasat'. The CREATE DATABASE process is allocating 0.49 MB on disk 'MyBasat_log'.
          С помощью инструкции CREATE TABLE была создана таблица Customer с перечисленными ниже столбцами.
SQL – текст:
CREATE TABLE [Customer] ([CustID] [int] NOT NULL , [Name] [char] (30)not null , [ShipSity] [char] (30) not null, [Discount] [decimal] (5,3) NULL CONSTRAINT [Customer PR] PRIMARY KEY CLUSTERED ( [CustID] ) ON [PRIMARY] , ) ON [PRIMARY] GO
          Содержательная интерпретация: Данный запрос формирует таблицу БД Customer со всеми включенными в неё столбцами(см. рисунок 1).
[ Cкачайте файл, чтобы посмотреть картинку ] Рисунок 1 - Результат выполнения запроса с помощью инструкции CREATE TABLE
          С помощью инструкции CREATE TABLE была создана таблица Sale с перечисленными ниже столбцами.
SQL – текст:
CREATE TABLE [Sale] ([OrderID] [int] NOT NULL , [CustID] [int] not null , [TotalAmt] [money] not null, [Saledate] [datetime]not null, [Shipdate] [datetime] null CONSTRAINT [Sale PR] PRIMARY KEY CLUSTERED ( [OrderID] ) ON [PRIMARY] , foreign key ( [CustID] ) references [Customer] ( [CustID] ) ) ON [PRIMARY] GO
          Содержательная интерпретация: Данный запрос формирует таблицу БД Sale со всеми включенными в неё столбцами. Результат выполнения запроса представлен на рисунке 2.
[ Cкачайте файл, чтобы посмотреть картинку ] Риунок 2 - Созданная таблица Sale
          Вводим с помощью инструкции INSERT в созданную таблицу Customer данные (строки).
SQL – текст:
Insert into Customer (CustID,Name,ShipSity,Discount) values (1,'Данилова Ю И','Penza',11.55)
Insert into Customer (CustID,Name,ShipSity,Discount) values (2,'Крапчина Т А','Moscow',5.999)
Insert into Customer (CustID,Name,ShipSity,Discount) values (3,'Строкова И В','Kiev',2.369)
          Содержательная интерпретация: Данный запрос производит записи данных в таблицу Customer. Результат выполнения запроса представлен на рисунке 3.
[ Cкачайте файл, чтобы посмотреть картинку ] Рисунок 3 - Результат выполнения инструкции INSERT
          Вводим с помощью инструкции INSERT в созданную таблицу Sale данные (строки).
SQL – текст:
Insert into Sale (OrderID,CustID,TotalAmt,Saledate,Shipdate) values (1, 2,86,12-01-2003,16-02-2003)
Insert into Sale (OrderID,CustID,TotalAmt,Saledate,Shipdate) values (2,1,203,14-01-2003,21-01-2003)
Insert into Sale (OrderID,CustID,TotalAmt,Saledate,Shipdate) values (3,3,75,1/28/03,2/7/03)
          Содержательная интерпретация: Данный запрос производит записи данных в таблицу Sale. Результат выполнения представлен на рисунке 4.
[ Cкачайте файл, чтобы посмотреть картинку ] Рисунок 4 - Результат выполнения инструкции INSERT
          Удаляем из таблицы Sale запись, где первичный ключ равный 3 с помощью инструкции DELETE.
SQL – текст:
delete from Sale where OrderID=3
          Содержательная интерпретация: Данный запрос удаляет строку, первичный ключ (OrderID) которой равен 3. Результат выполнения запроса представлен на рисунке 5.
[ Cкачайте файл, чтобы посмотреть картинку ] Рисунок 5 - Результат выполнения инструкции DELETE
          Из таблицы Customer удаляем столбец Discount с помощью инструкции DROP.
SQL – текст:
ALTER TABLE Customer DROP COLUMN Discount
          Содержательная интерпретация: Данный запрос удаляет столбец Discount из таблицы Customer. Результат выполнения инструкции представлен на рисунке 6.
[ Cкачайте файл, чтобы посмотреть картинку ] Рисунок 6 - Результат выполнени инструкции DROP
          В состав таблицы Customer с использованием инструкции ALTER TABLE вводим столбец "Discount decimal (5, 3)". В инструкции предусматриваем ограничение на значения атрибута следующего вида:
DEFAULT 0 CHECK ( Discount BETWEEN 0 AND 100) SQL – текст: ALTER TABLE Customer ADD Discount decimal (5, 3) DEFAULT 0 CHECK ( Discount BETWEEN 0 AND 100)
          Содержательная интерпретация: Данный запрос добавляет столбец Discount с предусмотренными ограничениями в таблицу Customer. Результат выполнения инструкции представлен на рисунке 7.
[ Cкачайте файл, чтобы посмотреть картинку ] Рисунок 7 - Результат выполнени запроса
          С использованием инструкции UPDATE выполняем обновление строк в таблице Customer.
SQL – текст:
Update Customer set Discount=12.08 where CustID=1
Update Customer set Discount=3.045 where CustID=2
Update Customer set Discount=4.098 where CustID=3
          Содержательная интерпретация: Данный запрос обновляет строки в таблице Customer. Результат представлен на рисунке 8.
[ Cкачайте файл, чтобы посмотреть картинку ] Рисунок 8 - Результат выполнения инструкции UPDATE
          С использованием инструкции ALTER TABLE осуществить добавление ограничения UNIQUE (уникальности) в таблице Customer. Например, ввести столбец "Professor".
SQL – текст:
Alter table Customer add Professor char unique (Professor)
          Содержательная интерпретация: Данный запрос добавляет столбец Professor в таблицу Customer. Результат выполнени инструкции представлен на рисунке 9.
[ Cкачайте файл, чтобы посмотреть картинку ] Рисунок 9 - Результат выполнения запроса
          В состав таблицы Customer с использованием инструкции ALTER TABLE ввести столбец CreditLimit. В инструкции предусмотреть ограничение на значения атрибута следующего вида: DEFAULT 0 CHECK ( CreditLimit BETWEEN 0 AND $5000).
SQL - текст:
ALTER TABLE Customer ADD CreditLimit money DEFAULT 0 CHECK ( CreditLimit BETWEEN 0 AND $5000)
          Содержательная интерпретация: Данный запрос добавляет столбец CreditLimit с предусмотренными ограничениями в таблицу Customer.
[ Cкачайте файл, чтобы посмотреть картинку ] Рисунок 10 - Результат выполнения запроса
          С использованием инструкции UPDATE выполните обновление строк в таблице Customer.
SQL – текст:
Update Customer set CreditLimit=3500 where CustID=1
Update Customer set CreditLimit=4120 where CustID=2
Update Customer set CreditLimit=4590 where CustID=3
 
          Содержательная интерпретация: Данный запрос обновляет строки в таблице Customer
[ Cкачайте файл, чтобы посмотреть картинку ] Рисунок 11 - Результат выполнения запроса
          На основе базовой таблицы Customer создаем представление CustCredit, позволяющее просматривать сведения о клиентах, лимит кредита которых не менее $4000.
SQL – текст:
create view CustCredit as select * from Customer where CreditLimit>=4000
          Содержательная интерпретация: Данный запрос на основе базовой таблицы Customer создает представление CustCredit, позволяющее просматривать сведения о клиентах, лимит кредита которых не менее $4000.
[ Cкачайте файл, чтобы посмотреть картинку ] Рисунок 12 - Результат выполнения запроса
         В состав таблицы Customer с использованием инструкции ALTER TABLE введите столбец Status. В инструкции предусмотрите ограничение на значения атрибута следующего вида: DEFAULT 0 CHECK ( Status BETWEEN 'A' AND 'X').
SQL – текст:
ALTER table Customer ADD Status char DEFAULT 0 CHECK ( Status BETWEEN 'A' AND 'X')
          Содержательная интерпретация: Данный запрос добавляет столбец Status с предусмотренными ограничениями в таблицу Customer.
[ Cкачайте файл, чтобы посмотреть картинку ] Рисунок 13 - Результат выполнения запроса
          С использованием инструкции UPDATE выполняем обновление строк таблицы Customer.
SQL – текст:
Update Customer set Status='X' where CustID=1
Update Customer set Status='A' where CustID=2
Update Customer set Status='B' where CustID=3
          Содержательная интерпретация: Данный запрос обновляет строки в таблице Customer.
[ Cкачайте файл, чтобы посмотреть картинку ] Рисунок 14 - Результат выполнения запроса
          Заменить в таблице Customer значение столбца Status на 'B', если удовлетворяет условию: ShipSity='Penza' and Status='X'
SQL – текст:
update Customer set Status='B' where ShipSity='Penza' and Status='X'
          Содержательная интерпретация: Данный запрос заменяет в таблице Customer значение столбца Status на 'B', если удовлетворяет условию: ShipSity='Penza' and Status='X'
[ Cкачайте файл, чтобы посмотреть картинку ] Рисунок 15 - Результат выполнения запроса
          С использованием инструкций CREATE VIEW и SELECT создайте представление, содержащее все строки и часть столбцов таблицы Customer.
SQL – текст:
create view CustShip as select CustID, Name, ShipSity from Customer
          Содержательная интерпретация: Данный запрос создает представление, содержащее все строки и часть столбцов таблицы Customer.
[ Cкачайте файл, чтобы посмотреть картинку ] Рисунок 16 - Результат выполнения запроса
          На основе инструкций CREATE VIEW, SELECT и оператора объединения JOIN создайте представление CustSale с объединением связанных строк таблиц Customer, Sale.
SQL – текст:
create view CustSale as select Customer.CustID, Customer.Name, Sale.OrderID, Sale.TotalAmt from Customer JOIN Sale ON Customer.CustID=Sale.CustID
          Содержательная интерпретация: Данный запрос создает представление CustSale с объединением связанных строк таблиц Customer, Sale.
[ Cкачайте файл, чтобы посмотреть картинку ] Рисунок 17 - Результат выполнения запроса
          Вывод: При выполнении данной лабораторной работы мы приобрели практические навыки разработки баз данных с использованием инструкций языка определения данных

П.Р. №4
Соединение с источниками данных ODBC

       1 Цель работы: изучение функции ODBC для соединения с базой данных, а также функции для получения информации о драйвере и источнике данных, приобретение навыков использования данных функций при разработке клиентских приложений баз данных с помощью инструмента Enterprise Manager.
2 Выполнение работы
Создание базы данных StudyEM:
[ Cкачайте файл, чтобы посмотреть картинку ]
Создание таблицы CustomerEM:
[ Cкачайте файл, чтобы посмотреть картинку ] Рисунок 2 - Таблица CustomerEM
Создание таблицы SaleEM:
[ Cкачайте файл, чтобы посмотреть картинку ] Рисунок 3 - Таблица SaleEM
Создание таблицы EmployeeEM:
[ Cкачайте файл, чтобы посмотреть картинку ] Рисунок 4 - Таблица EmployeeEM
Ввод записей в таблицу CustomerEM :
[ Cкачайте файл, чтобы посмотреть картинку ] Рисунок 5 - Ввод первой записи в таблицу CustomerEM
[ Cкачайте файл, чтобы посмотреть картинку ] Рисунок 6 - Ввод второй записи в таблицу CustomerEM
[ Cкачайте файл, чтобы посмотреть картинку ] Рисунок 7 - Ввод третьей записи в таблицу CustomerEM
Результат выполнения:
[ Cкачайте файл, чтобы посмотреть картинку ] Рисунок 8 - Таблица CustomerEM
Ввод записей в таблицу SaleEM:
[ Cкачайте файл, чтобы посмотреть картинку ] Рисунок 9 - Добавление первой записи в таблицу SaleEM
[ Cкачайте файл, чтобы посмотреть картинку ] Рисунок 10- Добавление второй записи в таблицу SaleEM
[ Cкачайте файл, чтобы посмотреть картинку ] Рисунок 11- Добавление третьей записи в таблицу SaleEM
Результат выполнения:
[ Cкачайте файл, чтобы посмотреть картинку ] Рисунок 12 - Таблица SaleEM
Ввод записей в таблицу EmployeeEM:
[ Cкачайте файл, чтобы посмотреть картинку ] Рисунок 13 - Ввод первой записи в таблицу EmployeeEM
[ Cкачайте файл, чтобы посмотреть картинку ] Рисунок 14 - Ввод второй записи в таблицу EmployeeEM
[ Cкачайте файл, чтобы посмотреть картинку ] Рисунок 15 - Ввод третьей записи в таблицу EmployeeEM
Результат выполнения:
[ Cкачайте файл, чтобы посмотреть картинку ] Рисунок 16 - Таблица EmployeeEM
Создание представления CustCredit:
[ Cкачайте файл, чтобы посмотреть картинку ] Рисунок 17 - Представление CustCredit
Графическая схема базы данных:
[ Cкачайте файл, чтобы посмотреть картинку ] Рисунок 18 - Схема базы данных
        Вывод: В ходе выполнения лабораторной работы были изучены инструментальные средства Enterprise Manager. В соответствии с заданием была создана база данных StudyEM с таблицами CustomerEM, SaleEM, EmployeeEM и представление CustCredit. При помощи графического редактора Enterprise Manager был выполнен отбор таблиц в схему базы данных StudyEM
Контрольные вопросы

       Вопрос 1. Какова последовательность действий при создании новой базы данных инструментальными средствами Enterprise Manager?
      Вопрос 2. Каким образом инструментальными средствами Enterprise Manager создаются таблицы и представления в базе данных?
       Вопрос 3. Каким образом осуществляется просмотр схемы базы данных в окне графического редактора Enterprise Manager?
       Вопрос 4. Каким образом инструментальными средствами графического редактора Enterprise Manager выполняется добавление или удаление ограничений в
П.Р. №5
Доступ к базам данных средствами Microsoft ActiveX Data Objects (ADO)

      1 Цель работы: приобрести практические навыки работы по доступу к базам данных с использованием технологии ADO.
      2 Задание
      С использованием технологии ADO в среде Delphi7 разработать приложение, позволяющее подключаться к источнику данных и получать доступ к данным. Приложение должно обеспечивать просмотр, добавление, удаление и редактирование данных, содержащихся в БД.
      3 Выполнение работы
      Разработаем приложение, обеспечивающее просмотр, добавление, удаление и редактирование данных, содержащихся в базе данных StudyEM, разработанной в лабораторной работе №4. Будем осуществлять доступ к связанным таблицам CustomerEM и SaleEM.       Для доступа к БД необходимо создать соответствующий источник данных ODBC. Для этого используется приложение Data Source Administrator (Администратор источников данных OBDC), окно которого представлено на рисунке 1.
[ Cкачайте файл, чтобы посмотреть картинку ] Рисунок 1 – Администратор источников данных ODBC
      Для создания нового источника данных необходимо на вкладке «Пользовательский DNS» нажать кнопку «Добавить». При этом откроется диалоговое окно со списком всех драйверов, установленных в системе (рисунок 2). Из списка выбираем SQL Server.
[ Cкачайте файл, чтобы посмотреть картинку ] Рисунок 2 – Окно выбора драйвера
      Далее в следующем окне (рисунок 3) задаем имя источника данных (MySQLServer) и указываем сервер (SQL Server).
[ Cкачайте файл, чтобы посмотреть картинку ] Рисунок 3 – Окно задания имени источника данных
      При нажатии на кнопку «Далее» открывается окно, определяющее способ аутентификации при подключении к SQL Server (рисунок 4).
[ Cкачайте файл, чтобы посмотреть картинку ] Рисунок 4 – Определение способа аутентификации
      Далее по цепочке открывается окно, представленное на рисунке 5, в котором в качестве базы данных, используемой по умолчанию, выбираем нашу БД StudyEM.
[ Cкачайте файл, чтобы посмотреть картинку ] Рисунок 5 – Выбор БД, используемой по умолчанию
      Таким образом, идя по цепочке далее, создадим свой источник данных MYSQLServer.       Разработку приложения для подключения к созданному источнику данных будем проводить в среде Delphi7 с использованием технологии ADO. ADO – это пользовательский интерфейс к любым типам данных, включая реляционные и не реляционные базы данных, электронную почту, системные, текстовые и графические файлы. Связь с данными осуществляется посредством так называемой технологии OLE DB.       Для использования этой возможности на вашем компьютере должна быть установлена система ADO 2.1 или более старшая версия. Кроме того должна быть установлена клиентская система доступа к данным, например Microsoft SQL Server, а в ODBC должен иметься драйвер OLE DB для того типа баз данных, с которым вы работаете.       Для работы с ADO в Delphi предусмотрены компоненты, расположенные на странице ADO. Они инкапсулируют такие объекты ADO, как Connection, Command и Recordset. Это обеспечивается соответственно компонентами ADOConnection, ADOCommand, ADODataSet.       Связь с базой данных в технологии ADO осуществляется обычной цепочкой: набор данных -> источник данных (компонент DataSource) -> компоненты управления и отображения данных (DBGrid, DBEdit и др.).       В программе в качестве набора данных использовался компонент ADODataSet (соответственно для таблиц CustomerEM и SaleEM компоненты ADODataSetCust и ADODataSetSale ). Для связи с набором данных используется ADOConnection.       Соединение компонентов набора данных с базой данных осуществляется через свойство Connection, связывающее данный компонент с компонентом ADOConnection. В этом компоненте ADOConnection , осуществляющем диспетчеризацию работы с набором данных, соединение задается свойством ConnectionString. А во всех прочих компонентах наборов данных достаточно установить в свойстве Connection имя компонента ADOConnection.       При нажатии в Инспекторе Объектов на кнопку с многоточием около свойства ConnectionString компонента ADOConnection откротся окно, представленное на рисунке 6.
[ Cкачайте файл, чтобы посмотреть картинку ] Рисунок 6 – Первое диалоговое окно задания строки соединения
      Нижняя радиокнопка Use Connection String позволяет в режиме диалога сформировать строку соединения. Включаем эту радиокнопку и нажимаем кнопку Build (Сформировать).       Перед нами откроется многостраничное окно задания свойств соединения. Его первая страница показана на рисунке 7. На этой странице мы должны указать провайдер OLE DB, который собираемся использовать для доступа к данным.       Выбрав провайдер, необходимо перейти на страницу Подключение (рисунок 8). Здесь необходимо указать, как мы будем соединяться с ODBC. Выбрав кнопку «Использовать имя источника данных», из выпадающего списка выбираем имя нашего источника MySQLServer. В этом окне также можно занести дополнительную информацию: имя пользователя, пароль доступа, ввести начальный каталог.       Далее можно перейти на страницу, представленную на рисунке 9, и задать варианты доступа к базе данных. Страница Все сообщает итоговую информацию о соединении и позволяет ее отредактировать.
[ Cкачайте файл, чтобы посмотреть картинку ] Рисунок 7 – Страница Поставщик данных основного окна задания свойств соединения
[ Cкачайте файл, чтобы посмотреть картинку ] Рисунок 8 - Страница Подключение основного окна задания свойств соединения
[ Cкачайте файл, чтобы посмотреть картинку ] Рисунок 9 – Задание режимов доступа к данным
[ Cкачайте файл, чтобы посмотреть картинку ] Рисунок 10 – Страница Все
      В результате работы было разработано приложение, позволяющее подключаться к источнику данных и получать доступ к данным. При запуске программы на экране появляется око, представленное на рисунке 11.
[ Cкачайте файл, чтобы посмотреть картинку ] Рисунок 11 – Главное окно программы
      Для того чтобы осуществить подключение к базе данных, необходимо нажать на кнопку «Соединиться с БД». Будет осуществлено подключение к БД (рисунок 12). Разрыв соединения осуществляется при нажатии на кнопке «Отсоединить».
[ Cкачайте файл, чтобы посмотреть картинку ] Рисунок 12
      В программе для установления и разрыва соединения с базой данных используется свойство Connected компонента ADOConnection, которое устанавливается соответственно в true или в false. Свойство Connected компонента ADOConnection связано со свойствами Active компонентов наборов данных, подключенных к данному ADOConnection.       Для добавления новых данных в таблицу CustomerEM, необходимо нажать на кнопку «Добавить», расположенную около окошка отображения данных из этой таблице. Откроется окно, представленное на рисунке 13. После ввода данных необходимо нажать на кнопку «Сохранить».
[ Cкачайте файл, чтобы посмотреть картинку ] Рисунок 13 – Форма ввода новых данных в таблицу CustomerEM
      Для редактирования данных необходимо выбрать в главном окне соответствующую строку с данными и нажать кнопку «Изменить». На экране появится окно редактирования данных (рисунок 14). Поля данных будут заполнены старыми значениями. Необходимо внести требуемые изменения и нажать кнопку «Сохранить». В случае отказа от изменения нужно нажать кнопку «Отмена».
[ Cкачайте файл, чтобы посмотреть картинку ] Рисунок 14 – Редактирование данных таблицы CustomerEM
      Для удаления записи ее нужно выбрать в главном окне и нажать кнопку «Удалить». Буден выдан запрос на удаление (рисунок 15). После подтверждения данные будут удалены из БД.
[ Cкачайте файл, чтобы посмотреть картинку ] Рисунок 15 – Запрос подтверждения удаления данных из таблицы CustomerEM
      Аналогично добавление, изменение и удаление данных осуществляется и в таблице SaleEM (рисунки 16-18).
[ Cкачайте файл, чтобы посмотреть картинку ] Рисунок 16 – Форма ввода новых данных в таблицу SaleEM
[ Cкачайте файл, чтобы посмотреть картинку ] Рисунок 17 – Редактирование данных таблицы SaleEM
[ Cкачайте файл, чтобы посмотреть картинку ] Рисунок 18 – Запрос подтверждения удаления данных из таблицы SaleEM
   
      Вывод: в результате проделанной работы приобрели практические навыки работы по доступу к базам данных с использованием технологии ADO, разработали в среде Delphi7 приложение, позволяющее подключаться к источнику данных и получать доступ к данным. Приложение обеспечивает просмотр, добавление, удаление и редактирование данных, содержащихся в БД.

15

Приложенные файлы

  • doc 7066423
    Размер файла: 445 kB Загрузок: 0

Добавить комментарий