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

лабы / gorev_akhajan_makakshiripov_ehffektivnaja_rabota_s_subd

.pdf
Скачиваний:
52
Добавлен:
26.04.2015
Размер:
3.17 Mб
Скачать

Содержание

Глава 1. Постановка задачи и разработка бизнес-правил

1.1.Некоторые определения

1.2.Описание, постановка задачи и разработка бизнес-правил

Глава 2. Основы теории проектирования баз данных

2.1. Информационная модель данных Последовательность создания информационной модели Взаимосвязи в модели Типы моделей данных

2.2.Проектирование базы данных Этап 1. Определение сущностей

Этап 2. Определение взаимосвязей между сущностями Этап 3. Задание первичных и альтернативных ключей, определение атрибутов сущностей

Этап 4. Приведение модели к требуемому уровню нормальной формы Этап 5. Физическое описание модели

2.3.Словарь данных

2.4.Администрирование базы данных

Глава 3. Обзор возможностей и особенностей различных СУБД

3.1.Средства быстрой разработки приложений

3.2.Visual FoxPro

Project Manager Database Designer Form Designer Visual Class Designer

Query / View Designer

Connection Designer

Report/Label Designer Menu Designer

Вспомогательные средства разработчика

3.3.Access

Запросы

Формы

Отчеты

Макросы Система защиты

3.4.Visual Basic

3.5.MS SQL Server

3.6.Руководство для покупателя

Глава 4. Основы языка программирования

4.1.Что такое язык программирования

4.2.Как написать программу

4.3."Горячая десятка"

4.4.Еще несколько навязчивых советов

www.books-shop.com

Глава 5. Объектно-ориентированное программирование

5.1.Объектная модель и ее свойства

5.2.Объекты и их свойства

Объекты для работы с данными Объекты для управления работой приложения

Объекты для оформления интерфейса пользователя Объекты-контейнеры Невизуальные объекты

Объекты OLE

5.3.Управление событиями

5.4.Использование методов

Часть 2. Проектирование системы обработки данных

Глава 6. Создание базы данных

6.1. Visual FoxPro

Создание и модернизация структуры базы данных Использование словаря данных Создание и модернизация структуры таблиц

6.2.Access

6.3.Visual Basic

6.4.MS SQL Server

Планирование процесса наращивания

Глава 7. Средства работы с данными

7.1.Организация ввода данных, их поиска и редактирования Работа с данными в Visual FoxPro

Работа с данными в Microsoft Access

7.2.Создание SQL-запросов

Запросы выборки Запросы добавления Запросы обновления Запросы удаления

7.3.Изменение структуры данных с помощью SQL

7.4.Запросы и локальные представления в Microsoft Visual FoxPro

7.5.Запросы в Microsoft Access

Запрос добавления Запрос - Создание таблицы Запрос удаления Запрос обновления Перекрестный запрос

7.6.Работа с данными в локальной сети

Visual FoxPro

Несколько советов по увеличению производительности при работе в сети в приложениях MicroxPro

Microsoft Access

Глава 8. Использование технологии клиент-сервер

www.books-shop.com

8.1.Работа с внешними данными с помощью технологии ODBC

Команды Transact-SQL

Создание представлений Создание триггеров

8.2.Использование Visual FoxPro для разработки клиентского приложения Синхронный и асинхронный процессы Создание внешних представлений

8.3.Использование Access и Visual Basic для разработки клиентского приложения

8.4.Использование ODBC API для доступа к внешним данным

8.5.Remote Data Objects

8.6.Внешнее управление сервером с помощью SQL-DMO

Часть 3. Разработка пользовательской программы

Глава 9. Разработка пользовательского интерфейса

9.1.Инструментарий разработчика

9.2.Конструируем форму

Создание формы "Прием заказов" на Visual FoxPro Создание формы "Прием заказов" на Access

9.3. Разработка управляющего меню Разработка меню в Visual FoxPro Разработка меню в Access

Глава 10. Использование готовых компонентов в приложении

10.1.Основные преимущества модульного проектирования прикладных программ

10.2.Как правильно использовать OLE 2.0

Возможности OLE 2.0 Использование OLE Automation Управление объектами Excel

Управление объектами Word for Windows

10.3.Использование OLE Automation для передачи данных Построение графиков с помощью MS Graph 5.0 Построение графиков с помощью MS Excel 7.0 Построение отчета в Word for Windows

Запись информации в Schedule+

10.4.Применяем ActiveX

Иерархический список Календарь

Глава 11. Подготовка отчетных данных

11.1.Создание отчетов в Visual FoxPro Управление режимом печати

11.2.Создание отчетов в Access

Глава 12. Подготовка и отладка пользовательского приложения

12.1. Общие принципы отладки приложения

www.books-shop.com

12.2.Инструментальные средства отладки Отладка программы в Visual FoxPro Отладка программы в Access

Обработка ошибок процессора баз данных в Access Отладка программы в Visual Basic

12.3.Подготовка приложения для распространения

Приложение 1. Дополнительные возможности новой версии Visual FoxPro 5.0

Визуальные средства проектирования Поставка программного пакета Требования к установке

Project Manager

Работа с кодом программы Создание базы данных Работа с данными

Расширение возможностей технологии клиент-сервер Построение пользовательского интерфейса Расширение функций OLE

Отладка приложения

Приложение 2. Взаимозаменяемость команд и функций

Visual FoxPro и Visual Basic

www.books-shop.com

Глава 1

Постановка задачи и разработка бизнес-правил

1.1.Некоторые определения

1.2.Описание, постановка задачи и разработка бизнес-правил

Создать хорошее приложение для обработки данных непросто. Это непросто, даже если вы создаете программу "для внутреннего использования", то есть для себя или своих коллег. Создание коммерческого приложения труднее в несколько раз, почему это так, вы поймете после прочтения этой книги. Для начала скажем, что если вы пишете приложение для себя или других пользователей и начали работу с создания файлов и заполнения их данными, считайте, что первая ошибка уже совершена. Опыт показывает, что пока у вас нет четкого и подробного представления о будущем проекте, СУБД - система управления базами данных - вам не нужна.

1.1. Некоторые определения

Вчерновике рукописи этот параграф назывался "Основные определения теории..." Внимательно следя за первыми рецензентами и неизменно наблюдая резкую смену выражения лиц, авторы, не рассчитывая на большую, чем у рецензентов, выдержку читателей, с помощью клавиши Del сильно откорректировали текст. И хотя в заголовке вместо слова "основные" появилось "некоторые", в этом параграфе вы найдете описание терминов, наиболее, на наш взгляд, важных для программиста, который собирается написать приложение для автоматизации обработки данных.

Вданном параграфе мы рассмотрим следующие понятия:

предметная область;

объект и классы объектов;

атрибуты и элементы данных;

значения данных;

ключевой элемент данных, первичный ключ и альтернативные ключи;

запись данных;

тип данных и домены;

таблица;

представление;

связь;

хранимые процедуры;

триггеры;

правила;

ссылочная целостность;

нормализация отношений;

словарь данных.

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

Ядром информационной системы являются хранимые в ней данные. На любом предприятии данные различных отделов, как правило, пересекаются, то есть используются в нескольких подразделениях или вообще являются общими. Например, для целей управления часто нужна информация по всему предприятию. Заказ комплектующих невозможен без наличия информации о запасах. Хранящиеся в информационной системе данные должны быть легко доступны в том виде, в каком они нужны для конкретной производственной деятельности предприятия. При этом не имеет существенного значения способ хранения данных. Сегодня на предприятии мы можем встретить систему обработки данных традиционного типа, в которой служащий вручную помещает данные в скоросшиватель, и рядом с ней - современную систему с применением самой быстродействующей ЭВМ, сложнейшего оборудования и программного обеспечения. Несмотря на поразительную несхожесть, обе эти системы обязаны предоставлять достоверную информацию в

www.books-shop.com

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

которые применяются при описании и представлении данных.

Предметной областью называется часть реальной системы, представляющая интерес для данного исследования.

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

Необходимо различать полную предметную область (крупное производственное предприятие, склад, универмаг и т.д.) и организационную единицу этой предметной области. Организационная единица в свою очередь может представлять свою предметную область (например, цех по производству кузовов автомобильного завода или отдел обработки данных предприятия по производству ЭВМ). В данном случае цехи и отделы сами могут соответствовать определенным предметным областям.

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

Объектом называется элемент информационной системы, информацию о котором мы сохраняем. В реляционной теории баз данных объект называется сущностью.

Объект может быть реальным (например, человек, какой-либо предмет или населенный пункт) и абстрактным (например, событие, счет покупателя или изучаемый студентами курс). Так, в области продажи автомобилей примерами объектов могут служить МОДЕЛЬ АВТОМОБИЛЯ, КЛИЕНТ и СЧЕТ. На товарном складе - это ПОСТАВЩИК, ТОВАР, ОТПРАВЛЕНИЕ и т. д. Каждый объект обладает определенным набором свойств, которые запоминаются в информационной системе. При обработке данных часто приходится иметь дело с совокупностью однородных объектов, например таких, как служащие, и записывать информацию об одних и тех же свойствах для каждого из них.

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

Таким образом, для объектов одного класса набор свойств будет одинаков, хотя значения этих свойств для каждого объекта, конечно, могут быть разными. Например, класс объектов МОДЕЛЬ АВТОМОБИЛЯ будет иметь одинаковый набор свойств, описывающих характеристики автомобилей, и каждая модель будет иметь различные значения этих характеристик.

Объекты и их свойства являются понятиями реального мира. В мире информации, существующем в представлении программиста, говорят об атрибутах объектов.

Атрибут - это информационное отображение свойств объекта. Каждый объект характеризуется рядом основных атрибутов.

Например, модель автомобиля характеризуется типом кузова, рабочим объемом двигателя, количеством цилиндров, мощностью, габаритами, названием и т. д. Клиент магазина, продающего автомобили, имеет такие атрибуты, как фамилию, имя, отчество, адрес и, возможно, идентификационный номер. Каждый атрибут в модели должен иметь уникальное имя - идентификатор. Атрибут при реализации информационной модели на каком-либо носителе информации часто называют элементом данных, полем данных или просто полем. Взаимосвязь между перечисленными выше понятиями проиллюстрирована схемой, приведенной на рис. 1.1.

www.books-shop.com

Рис. 1.1. Три области представления данных

Таблица - это некоторая регулярная структура, состоящая из конечного набора однотипных записей. В некоторых источниках таблица называется отношением.

Мы постараемся избегать последнего термина, так как с развитием реляционной теории "отношением" наряду с термином "связь" часто стали называть связи между таблицами. Каждая запись одной таблицы состоит из конечного (и одинакового!) числа полей, причем конкретное поле каждой записи одной таблицы может содержать данные только одного типа.

Значение данных представляет собой действительные данные, содержащиеся в каждом элементе данных.

Элемент данных "НАИМЕНОВАНИЕ МОДЕЛИ" может принимать такие значения, как "Voyager'96 3.8 Grand", "Continental 4.6" или "Crown Victoria 4.6". В зависимости от того, как элементы данных описывают объект, их значения могут быть количественными, качественными или описательными.

Информацию о некоторой предметной области можно представить с помощью нескольких объектов, каждый из которых описывается несколькими элементами данных. Принимаемые элементами данных значения называются данными. Единичный набор принимаемых элементами данных значений называется экземпляром объекта. Объекты связываются между собой определенным образом. Соответствующая модель объектов с составляющими их элементами данных и взаимосвязями называется концептуальной моделью. Концептуальная модель дает общее представление о потоке данных в предметной области.

Некоторые элементы данных обладают важным для построения информационной модели свойством. Если известно значение, которое принимает такой элемент данных объекта, мы можем идентифицировать значения, которые принимают другие элементы данных этого же объекта. Например, зная уникальный номер модели автомобиля - 7, мы можем определить, что это "Voyager'96 3.8 Grand" и что рабочий объем двигателя у данной модели "3778".

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

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

Первичный ключ - это атрибут (или группа атрибутов), которые единственным образом идентифицируют каждую строку в таблице.

www.books-shop.com

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

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

Например, для объекта "служащий", который имеет атрибуты "ИДЕНТИФИКАТОР СЛУЖАЩЕГО", "ФАМИЛИЯ", "ИМЯ" и "ОТЧЕСТВО", группа атрибутов "ФАМИЛИЯ", "ИМЯ", "ОТЧЕСТВО" может являться альтернативным ключом по отношению к атрибуту "ИДЕНТИФИКАТОР СЛУЖАЩЕГО" (в предположении, что на предприятии не работают полные тезки).

Запись данных - это совокупность значений связанных элементов данных.

На рис. 1.2 такими элементами данных являются уникальный ключ и наименование модели, рабочий объем, количество цилиндров и мощность двигателя. Например, одна из записей - "7 Voyager'96 3.8 Grand 3778 6 164,0". Эта строка представляет собой значения, которые принимают элементы данных объекта МОДЕЛЬ АВТОМОБИЛЯ (MODEL). Такие строки формируют записи данных. Записи хранятся на некотором носителе, в качестве которого может выступать человеческий мозг, лист бумаги, память ЭВМ, внешнее запоминающее устройство и т. д.

Рис. 1.2. Записи данных объекта MODEL

Тип данных характеризует вид хранящихся данных.

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

Доменом называется набор значений элементов данных одного типа, отвечающий поставленным условиям.

Понятие домена более специфично для баз данных, хотя и имеет определенные аналогии с подтипами в некоторых языках программирования. В самом общем виде домен определяется заданием некоторого базового типа данных, к которому относятся элементы домена, и произвольного логического выражения, применяемого к элементу типа данных, который "забраковывает" недопустимые значения. Если вычисление этого логического выражения дает результат "истина", то элемент данных является элементом домена. Например, домен "НАИМЕНОВАНИЕ" в нашем примере (рис. 1.3) определен на базовом типе строк символов, но в число его значений могут входить только те строки, которые могут изображать имя (в частности, очевидно, что такие строки не должны начинаться с какого-нибудь специфичного символа типа знака подчеркивания или тире). В упрощенном виде понятие домена может характеризоваться как потенциальное множество допустимых значений одного типа. Например, значением атрибута

www.books-shop.com

Соседние файлы в папке лабы