- •База данных
- •Введение
- •1.2 Выбор и описание автоматизируемых функций
- •1.3 Первичное описание информационного обеспечения
- •1.4 Вывод
- •2 Выявление ограничений и правил поддержания целостности
- •2.1 Уровень атрибутов
- •2.3 Уровень множеств кортежей
- •2.4 Уровень базы данных
- •2.5 Вывод
- •3.1 Составление локальных исходных er-моделей
- •Мназвание
- •3.4 Вывод
- •4 Проектирование глобальной er-модели
- •4.1 Выявление и устранение эквивалентных сущностей
- •4.2 Выявление категорий и синтез обобщающих сущностей
- •4.3 Выявление и устранение дублирования атрибутов и связей
- •5.1.3 Замена явных связей 1:м неявными
- •5.2 Спецификация ограничений и правил поддержания целостности
- •5.3 Sql-код для создания реляционной модели
- •5.4 Вывод
- •Модели соединения таблиц базы данных для реализации представлений для функции 2 «прием учащихся» представлены на рис.6.1.2.
- •Модели соединения таблиц базы данных для реализации представлений для функции 3 «сдача экзаменов» представлены на рис.6.1.3.
- •Модели соединения таблиц базы данных для реализации представлений для функции 4 «планирование учебного процесса» представлены на рис.6.1.4.
- •6.3 Sql-код для реализации представлений Функция 1 «учет кадров»
- •Функция 2 «прием учащихся»
- •Функция 3 «сдача экзаменов»
- •6.4 Вывод
- •Проектирование доступа к базе данных из локальных функций
- •7.4 Вывод
- •Список литературы
6.4 Вывод
В данном разделе были спроектированы представления для автоматизируемых функций. Здесь было выполнено определение способов и форм представления, записан SQL-код для реализации представлений для автоматизируемых функций
Проектирование доступа к базе данных из локальных функций
Функция 1 «Учет кадров»
Пусть на сервере имеется представление «Учет_кадров» (созданное на предыдущем этапе). Получить информацию о сотрудниках музыкальной школы, используя технологию Pass-Through SQL из среды Visual FoxPro. Предполагается, что в клиентской базе данных Visual FoxPro имеется именованное соединение Education, настроенное для доступа к базе данных сервера.
h = SQLConnect ('Education')
x = ' SELECT * FROM Учет_кадров'
ret = SQLExec (h,x)
BROWSE
= SQLDisconnect (h)
Функция 2 «прием учащихся»
Пусть на сервере имеются представления V_Учащийся, V_Обучение, V_Родственник, V_Телефон и V_Льгота (созданные на предыдущем этапе). Получить информацию об учащихся, используя технологию ADO из серверных сценариев JScript. Предполагается, что для соединения с сервером используется источник данных ODBC Education, идентификатор пользователя User127, пароль SQL92.
<% @ LANGUAGE = 'JScript' %>
<%
var kod_st = Request ('код_учащегося') (1);
var con, rs, x
con = Server.CreateObject ("ADODB.Connection");
con.Open (' DSN = Education' , 'user_ID = User127', 'PSW = SQL92')
x = ' SELECT ФИО, год_обучения FROM V_Учащийся
WHERE код_учащегося = ' + kod_st
rs = Con.Execute (x)
%>
<HTML>
<BODY>
<h1> Результаты запроса </h1>
<table>
<% while (!rs.EOF)
{%>
<%rsMoveNext ()%>
<% } %}
<tr>
<td> <% = rs.Fields('ФИО') %> </td>
<td> <% = rs.Fields('год_обучения') %> </td>
<td> <A href = "V_Обучение" ? код_учащегося = <%Response.Write(kod_st) %> > Обучение </A> </td>
<td> <A href = "V_Родственник" ? код_учащегося = <% Response.Write(kod_st) %> > Родственник </A> </td>
<td> <A href = "V_Телефон" ? код_учащегося = <% Response.Write(kod_st) %>> Телефон </A> </td>
<td> <A href = "V_Льгота" ? код_учащегося = <% Response.Write(kod_st) %>> Льгота </A></td>
</tr>
<rs.Close (); con.Close ();%>
</table>
</BODY>
</HTML>
Функция 3 «сдача экзаменов»
Пусть на сервере имеется представление «Сдача_экзаменов». Получить информацию об экзаменах в музыкальной школе, используя технологию ADO из среды Visual FoxPro. Предполагается, что для соединения с сервером используется источник данных ODBC Education, идентификатор пользователя User127, пароль SQL92.
con = CREATEOBJECT ("ADODB.Connection")
con.Open (' DSN = Education' , 'user_ID = User127', 'PSW = SQL92')
rs = con.Execute ('SELECT * FROM Сдача_экзаменов')
DO WHILE ! rs.EOF
? rs.Fields ('год'), rs.Fields ('номер_экзамена'), rs.Fields ('дата'),;
rs. Fields ('время_начала'), rs. Fields ('время_окончания'),;
rs. Fields ('кабинет'), rs.Fields ('тип_экзамена'), ;
rs.Fields ('код_сотрудника'), rs.Fields ('ФИО_сотрудника'),;
rs.Fields ('код_учащегося'), rs.Fields ('ФИО_учащегося'),;
rs.Fields ('код_предмета'), rs.Fields ('название_предмета'),;
rs.Fields ('оценка')
rs.MOVENEXT()
ENDDO
rs.Close (); con.Close ();