Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Базы данных. Учебно-методический комплекс

.pdf
Скачиваний:
0
Добавлен:
06.09.2026
Размер:
2 Мб
Скачать
Рис. 5. Образец базы данных, полученный с использованием Wizard
Выберем кнопку New file для создания собственной базы данных. После этого нужно задать папку на диске, где мы будем сохранять все компоненты, относящиеся к разрабатываемому проекту, и задать название базы данных (расширение файла указывать не надо - система допишет его сама). Пусть папка и имя базы данных будут Students.
Рис. 6. Диалог для сохранения базы данных на диске
После нажатия на кнопку Save (Сохранить) будут созданы файлы базы данных (students.dbc, students.dct и students.dcx) и откроется пустое окно модификации структуры базы данных
(Database Designer), показанное на рис. 4.7
. Следует отметить, что
очень многие команды, задаваемые нами с использованием меню
Ф КазНПУ 0703-12-09 Учебно-методический комплекс дисциплины для обучающегося
81
системы, отображаются в виде текстовых команд в окне Command (создается протокол команд, который сохраняется), и это может быть
использовано для повторного выполнения использованных команд или для включения их в текст программы, а также может быть полез­но начинающим пользователям для изучения языка системы VFP. После команды Save в окне Command появятся 2 строки
команд: CREATE
DATABASE и MODIFY DATABASE, как показано на рис. 4.8.
Поместив курсор мыши в окно Database Designer, щелкнем в нем правой кнопкой мыши и в контекстном меню выберем команду
New table:.
Далее выбираем New table, а не Wizard, который нам опять пред­ложил бы американские образцы таблиц за основу, выбираем папку и задаем имя главной таблицы базы -
Spisok, после чего открывается окно
описания структуры таблицы базы данных (Table Designer) (рис. 4.9).
Рис. 7. Окно Конструктора базы данных Рис. 4.8. Окно Command системы VFP
Рис. 9. Окно Конструктора таблиц
Ф КазНПУ 0703-12-09 Учебно-методический комплекс дисциплины для обучающегося
82
В окне Table Designer описываем все поля таблицы Spisok.dbf­имя поля (Name), тип (Type), ширину (Width), количество деся- тичных знаков для действительных чисел (Decimal), наличие прос- того индекса (Index) и задаем заголовок поля таблицы (Caption). Имена полей лучше писать латинскими буквами.
Для индекса NZ на странице Indexes окна Table Designer следует задать тип индекса - Primary (первичный), т.к. номер зачетки
- уникальный для каждого студента, однозначно его идентифицирует и поэтому может служить первичным ключом (в таблице обозначения A (Ascending) - индекс в порядке возрастания, P (Primary).
Структура главной таблицы базы данных приведена в табл. 4.3
.
Для таблицы, входящей в состав базы данных, в окне Table Designer присутствуют разделы Display, Map field type to classes, Field validation, Field comment, эта информация сохраняется в фай-
ле базы данных и поэтому отсутствует при описании структуры свободных таблиц (файлы
*
.dbf, не входящие в состав базы данных).
Таблицу можно удалить из базы, но оставить в виде свободной таб­лицы на диске; в таком случае информация этих разделов теряется.
Задание заголовков (Caption) для полей при описании струк- туры таблицы облегчает разработку экранных форм и отчетов - эти названия появятся как подписи для полей (
если Caption отсутствует,
подписью будет имя поля).
Таблица 4.3. Структура таблицы Spisok.dbf Name Type Width Decimal Index Caption
Nz C 7 A,P Номер зачетки Fio C 45 Фамилия, имя, отчество data_p D 8 Дата поступления
n_fclt N 2 A Факультет n_spect C 7 A Специальность
kurs N 1 Курс n_grup С 10 Группа
n_pasp С 10 Номер паспорта
Далее создаем следующую таблицу в базе - справочник факуль­тетов с именем файла Fclt.dbf. Для этого следует снова поместить курсор на пустое место окна Database Designer, щелкнуть правой кнопкой мыши и в контекстном меню выбрать команду New table. В окне Table Designer описываем структуру таблицы (табл. 4.4).
Ф КазНПУ 0703-12-09 Учебно-методический комплекс дисциплины для обучающегося
83
Таблица 4.4. Структура таблицы Fclt.dbf
Name Type Width Decimal Index Caption
n_fclt N 2 A,P Номер факультета
name_f C 120 Название факультета
Название ключевого поля справочника, его тип и ширину желательно оставить такими же, как и в главной таблице, для облегчения установления связей при разработке экранных форм и отчетов с помощью Мастера.
Точно так же создаем в базе данных следующие таблицы и индексы для табл. 4.5, табл. 4.6, табл. 4.7.
Таблица 4.5. Структура таблицы Spect.dbf
Name Type Width Decimal Index Caption
n_spect C 7 A,P Код специальности
name_s C 120 Название специальности
Таблица 4.6. Структура таблицы Ocenki.dbf
Name Type Width Decimal Index Caption
nz C 7 A Номер зачетки
semestr N 1 Семестр
n_predm N 2 A Предмет
ball С 1 Оценка
data_b D 8 Дата
prepod C 45 Преподаватель
Таблица 4.7. Структура таблицы Predmets.dbf
Name Type Width Decimal Index Caption
n_predm N 2 A,P Номер предмета
name_p С 120 Название предмета
Далее в окне Database Designer задаем постоянные связи между таблицами в базе, перетаскивая мышкой название первичного индекса к обычному (Regular) индексу (внешний ключ). В резуль- тате получаем схему базы данных (рис. 4.10
Ф КазНПУ 0703-12-09 Учебно-методический комплекс дисциплины для обучающегося
).
84
Рис. 10. Окно базы данных STUDENTS
Для связей можно задать условия соблюдения ссылочной целостности: каскадное обновление в операциях удаления и вставки и контроль с запретом ввода записей с неверными ключевыми значениями в операциях вставки (см. рис. 4.11). Для заданных условий будет сгенерирован программный код, занесенный в базу данных как хранимые процедуры - триггеры. Эти программы при желании можно просмотреть
, изучить механизм их действия или модифицировать, если такая необходимость возникнет. Текст триггеров может представлять значительный интерес для программистов, т.к. он написан в наиболее универсальном виде для работы с различными режимами и базами с использованием стиля оформления, принятого в фирме-разработчике системы VFP.
Рис. 11. Задание условий соблюдения ссылочной целостности
Ф КазНПУ 0703-12-09 Учебно-методический комплекс дисциплины для обучающегося
85
Лекция 14. Обеспечение ссылочной ценности.
Создание отчетов и запросов.
Разработка отчетов
Для разработки отчетов - печатных документов, отражающих информацию базы данных, в системе VFP существует Конструктор отчетов (Report Designer) и Мастер отчетов (Report Wizard). Важным свойством отчетов является возможность группировки данных и получения итоговых данных для групп и всего отчета. При формировании отчетов можно задавать
фильтр отбора необходимых данных либо формировать отчет на основе данных SQL-запроса или представления данных (View).
Наиболее просто для разработки основы отчета воспользоваться Мастером отчетов с последующей модификацией и дополнением отчета в Конструкторе.
Существует 2 типа Мастера отчетов:
One-to-Many Report Wizard - Мастер отчета, в котором для одной записи главной таблицы существует множество записей связанной с
ней дочерней таблицы.
Report Wizard - Мастер простого отчета, но с возможностью задания группировки данных.
Поставим задачу разработать отчет, в котором показаны экзаменационные оценки всех студентов за зимнюю сессию 2005­2006 учебного года (с 10.01.2006 по 06.02.2006) с группировкой данных по факультетам, курсам, группам и в группе - по фамилиям студентов.
Как обычно, создание нового объекта начинаем, нажав
кнопку
New на стандартной панели инструментов, затем выбираем Report ­Wizard - One-to-Many Report Wizard.
Далее на первом шаге Мастера выбираем базу Students и поля главной таблицы базы (Spisok), которые мы хотим показать в отчете.
На втором шаге выбираем поля дочерней таблицы - Ocenki.
Третий шаг - подтверждаем, что эти таблицы связаны по значению поля NZ.
На четвертом
шаге необходимо задать порядок сортировки данных в отчете. Мастер позволяет задать не более трех значений полей для сложной сортировки (с созданием соответствующего
Ф КазНПУ 0703-12-09 Учебно-методический комплекс дисциплины для обучающегося
86
сложного индекса). Выберем поля N_fclt, Kurs, N_grup с сорти­ровкой в порядке возрастания (Ascending).
Пятый шаг (рис. 6.3) - задаем стиль отчета, расположение его на листе (вертикальный лист - Portrait или горизонтальный ­Landscape) и суммарные параметры - расчет среднего значения (Avg) для поля Ball.
На последнем, 6-м шаге задаем заголовок отчета, выбираем команду Сохранить отчет и
модифицировать его в Конструкторе
отчетов - Save report and modify it in Report Designer и после
нажатия на кнопку Finish задаем имя (Spisok) и место сохранения файлов отчета (будут созданы два файла с одинаковым именем и расширениями *.frt и *.frx).
В окне Report Designer мы увидим отчет
Отбор данных из базы с использованием SQL-запросов
Ранее отмечалось, что для работы с данными, отобранными в соответствии с каким-либо условием, может быть использована команда SET FILTER TO <условие> - установить фильтр для открытой таблицы базы данных.
Однако большими возможностями обладает так называемый SQL-запрос - команда SELECT :, сформированная в соответствии с правилами языка запросов SQL (Structured Query Language).
Запрос позволяет отбирать данные по
заданным сложным условиям из нескольких таблиц различных баз данных, с разме­щением результатов выполнения запроса на экране, во временной таблице (cursor), в новой таблице, в текстовом файле или в массиве переменных. При этом возможны сложные виды упорядочения информации и группировки данных с получением расчетных групповых результатов.
Отбор осуществляется непосредственно из файла
на диске, таким образом те же таблицы одновременно могут быть открыты с какими-либо установленными фильтрами (например, в программе, работающей с данными только за текущий месяц).
В VFP и других системах фирмы Microsoft (Word, Excel) можно использовать Конструктор запросов, что упрощает и ускоряет написание запросов. Кроме того, в VFP есть Мастер для разработки запросов разного вида. Однако использование этих средств не
Ф КазНПУ 0703-12-09 Учебно-методический комплекс дисциплины для обучающегося
87
позволяет реализовать все возможности языка запросов. Макси­мальные возможности - при написании запроса в текстовом виде в любом программном модуле в соответствии с синтаксисом команды SELECT (полный синтаксис будет описан далее).
Принцип формирования запросов наиболее легко освоить при использовании Мастера запросов.
Поставим задачу отобрать информацию по экзаменационным оценкам студентов по факультету
№ 1 за 1-й семестр 2005/2006 учебного года по предмету № 1 ("Математика" в справочной таблице) с сортировкой данных по группам, в группах - в порядке уменьшения оценки.
Для этого выбираем на стандартной панели или в меню команду New, далее выбираем Query и нажимаем кнопку Query Wizard. В появившемся списке из трех пунктов: Cross-Tab Wizard, Graph Wizard и Query Wizard выбираем
последний вариант - стандартный
запрос.
На первом шаге Мастера необходимо выбрать таблицы и поля, которые следует включить в запрос. Если предварительно база данных не была открыта, следует ее выбрать с помощью кнопки рядом с полем списка Databases and tables. Выбор полей может быть выполнен из нескольких таблиц базы.
На шаге 2 следует добавить в список
связей выражение
SPISOK.NZ = OCENKI.NZ, что Мастер сам предложит вам сделать.
На шагевам нужно ответить на вопрос, какие записи при
объединении таблиц следует включать в результаты (join conditions ­условия объединения):
only matching rows - отбираются только записи при их одновременном присутствии в обеих связанных таблицах для заданных условий отбора и связей (условие объединения Inner Join);
all rows from table SPISOK - отбираются
все записи таблицы
SPISOK, соответствующие условиям отбора, и связанные записи другой таблицы при их наличии (Left Outer Join);
all rows from table OCENKI- отбираются все записи таблицы OCENKI, соответствующие условиям отбора, и связанные записи
другой таблицы при их наличии (Right Outer Join);
all rows from both tables - отбираются все записи таблиц SPISOK и OCENKI, соответствующие условиям отбора, независимо
от наличия связанных записей другой таблицы (Full Join).
Ф КазНПУ 0703-12-09 Учебно-методический комплекс дисциплины для обучающегося
88
Выбираем первый вариант для нашего запроса.
На шаге 3 могут быть заданы условия отбора данных (количество условий - не более двух, в Конструкторе запросов или в тексте запроса можно увеличить их количество). Зададим условия -
SPISOK.N_FCLT=1 and OCENKI.SEMESTR=1. В Мастере нельзя задать больше двух условий, в Конструкторе или тексте SQL­программы количество условий не ограничено.
Шаг 4 - задание условий сортировки данных. Здесь можно выбрать последовательно 3 поля таблиц, по которым следует сортировать данные, например, n_grup, ball - упорядочить по группам, внутри групп - по баллу в порядке уменьшения (Descending).
На шаге можно задать процент или количество рассмат- риваемых записей, здесь мы оставим без изменений условие all
records - все записи
.
На последнем шаге 5 выберем вариант Save query and modify it in Query Designer - Сохранить запрос и модифицировать его в
Конструкторе запросов, зададим путь и имя для сохранения файла запроса.
В результате на диске будет создан текстовый файл запроса с расширением *.qpr (например, query_s1.qpr), который может быть открыт как текстовый файл или в Конструкторе запросов с отображением всех
условий запроса.
РАЗДЕЛ 5. MICROSOFT SQL SERVER
Лекция 15. Характеристика SQL Server. Язык запросов
Transact – SQL. Системные базы данных и таблицы
Общая характеристика системы
Microsoft SQL Server - одна из наиболее мощных систем работы с базами данных в архитектуре "клиент-сервер". Особенность системы - работа сервера только в операционных системах ряда Microsoft Windows NT - NT Server 4.0, 2000 Server, Server 2003, при этом клиентская часть может взаимо-действовать с сервером из Microsoft Windows 98 и других операционных систем. Рекомендуемая файловая система для SQL Server - NTFS, хотя возможна работа и в системе FAT.
Ф КазНПУ 0703-12-09 Учебно-методический комплекс дисциплины для обучающегося
89
В своем составе система имеет средства создания баз данных, работы с информацией баз данных, перенесения данных из других систем и в другие системы, резервного копирования и восста­новления данных, развитую систему транзакций, систему репликации данных, реляционную подсистему для анализа, оптимизации и выполнения запросов клиентов, систему безопасности для управ­ления правами доступа к объектам базы данных и пр. Система не содержит средств разработки клиентских приложений.
Установка системы
Установка системы Microsoft SQL Server выполняется с дистри­бутивного диска запуском файла AUTORUN.EXE (который, в свою очередь, запускает программу \Sql\x86\setup\setupsql.exe). При этом начинает работать Мастер установки, который пошагово предлагает вам выбрать параметры установки системы.
Первый шаг - выбор
компьютера для установки:
1. установить SQL Server на локальном компьютере;
2. установить на удаленном компьютере;
3. создать либо настроить виртуальный сервер.
Следующей шаг - выбор вида инсталляции
Возможные варианты:
1. создать новую инсталляцию SQL Server;
2. обновить или удалить компоненты существующей ин-
сталляции;
3. настроить виртуальный сервер;
4. создать файл с информацией для автоматической
установки
компонентов SQL Server, которая может быть выполнена позднее.
Далее программа установки попросит ввести имя пользователя и название организации, а также предложит принять лицензионное соглашение. После этого откроется окно Installation Definition. Оно содержит три варианта установки программного обеспечения:
Client Tools Only - установка сетевых библиотек и средств
администрирования SQL Server. Эта опция выбирается для компью­теров, которые будут использоваться для удаленного управления сервером;
Server and Client Tools - полная установка SQL Server. Эта
опция выбрана по умолчанию;
Ф КазНПУ 0703-12-09 Учебно-методический комплекс дисциплины для обучающегося
90
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]