|
|
СРЕДНЕЕ ПРОФЕССИОНАЛЬНОЕ ОБРАЗОВАНИЕ
В. П. Агальцов
БАЗЫ ДАННЫХ
Допущено Министерством образования Российской Федерации в качестве учебного пособия для студентов учреждений среднего профессионального образования, обучающихся по специальностям 2202 «Автоматизированные системы обработки информации и управления (по отраслям)»,
2203 «Программное обеспечение вычислительной техники и автоматизированных систем», 2204 «Техническое обслуживание средств вычислительной техники и компьютерных сетей».
Москва «МИР» 2002
УДК 681.3.06 (075.32) ББК 32.973.26~018.2я723 А 23
Агальцов В. П.
А 23 Базы данных. — М.: Мир, 2002. — 376 с., ил. + компакт- диск с примерами.
ISBN 5-03-003502-8
В учебном пособии изложены основные понятия теории баз данных и приемы создания приложения базы данных в среде Visual Fox Pro 6.0 и старших версиях.
Учебное пособие составлено в полном соответствии с требованиями Государственного образовательного стандарта по специальностям 2202 «Автоматизированные системы обработки информации и управления (по отраслям)», 2203 «Программное обеспечение вычислительной техники и автоматизированных систем», 2204 «Техническое обслуживание средств вычислительной техники и компьютерных сетей», а также типовой (примерной) программы дисциплины «Базы данных». Предложенный материал рассчитан на 64 часа лекционных занятий.
Для студентов очной, очно-заочной и заочной форм обучения.
УДК 681.3.06 (075.32) ББК 32.973.26-018.2я723
Редакция литературы по информатике и новой технике ISBN 5-03-003502-8 С Издательство «Мир», 2002
Оглавление
От автора.................................................................................................................. 7
Справочник команд, операторов и функций........................................................... 11
Глава 1. ТЕОРИЯ БАЗ ДАННЫХ............................................................................. 17
1.1. Информационные модели 20
1.2. Типы логических моделей 22
1.3. Взаимосвязи в базе данных 24
1.4. Требования, предъявляемые к базе данных 26
1.5. Этапы проектирования базы данных 27
1.6. Средства быстрой разработки приложений 32
1.7. Сравнительный анализ систем управления базами данных (СУБД) 33
1.8. Пример 34
Глава 2. РАБОТА С ТАБЛИЦАМИ........................................................................... 43
2.1. Создание таблицы 43
2.2. Открытие таблицы 47
2.3. Редактирование таблицы 50
2.4. Добавление новой записи 58
2.5. Удаление записи из таблицы 59
2.6. Модификация структуры таблицы 62
2.7. Создание файла базы данных 62
2.8 Открытие базы данных........................................................................... 63
2 9- Вывод записей таблицы на экран........................................................... 66
2.10. Закрытие файлов 67
2.11. Управление статус-строкой 68
2.12. Установка типа даты 68
2.13. Управление редактированием таблицы 68
2.14. Пример 69
2.15 Контрольные вопросы.......................................................................... 71
Глава 3. ИНДЕКСИРОВАНИЕ БАЗ ДАННЫХ.......................................................... 73
3.1. Создание индекса 74
3.2. Открытие индексного файла 78
3.3. Замена текущего индекса 78
3.4. Перестройка индексных файлов 79
3 S Преобразование одноинлексного файла в тег
3.6 Удаление тега из мультииндексного файла
3.7 Вывод на экран имен индексных файлов и имен тегов
3.8. Примеры
3.9. Контрольные вопросы
Глава 4. УПРАВЛЕНИЕ БАЗАМИ ДАННЫХ...........................................
4.1. Часто употребляемые опции команд FoxPro
4.2. Сортировка данных
4 3. Поискданных
4 4 Фильтрация данных.............................................................
4.5. Примеры
4 6. Контрольные вопросы.........................................................
Глава 5. СОЗДАНИЕ ВЗАИМОСВЯЗЕЙ..............................................
5.1. Понятие рабочей области
5.2. Организация взаимосвязи «один-к-одному*
5.3. Установление взаимосвязи «один-ко-многим»
5.4. Установление взаимосвязей с помощью главного меню.
5.5. Объединение двух табличных файлов в один файл
5.6 Корректировка данных в связанных таблицах
5.7. Создание итогового табличного файла
5 8 Примеры...............................................................................
5 9. Контрольные вопросы.........................................................
Глава 6. РАБОТА С ПРОГРАММНЫМИ ФАЙЛАМИ
6.1. Создание программного файла................
6.2. Запуск программного файла
6.3 Модульность программ
6.4 Область действия переменных
6.5 Простейшие вычисления...........................
6.6. Примеры
6.7. Контрольные вопросы
Глава 7. ОСНОВЫ ЯЗЫКА ПРОГРАММИРОВАНИЯ 7 I Переменные, константы и массивы...
7.2. Присвоение значений
7.3. Команды для работы с переменными..
7.4. Команды для работы с массивами....
7.5. Команды ввода-вывода
7.6. Функции для работы с массивами
7.7. Команды циклов
7.8. Команды ветвления алгоритма
7.9- Примеры....................................................
7.10. Контрольные вопросы
Глава 8. СОЗДАНИЕ МЕНЮ................................................................................ 170
8.1. МенютипаБОХ 171
8.2. Менютипа dBASE 175
8-3. Клавишиое меню................................................. •............................. 190
8 4. Примеры 196
8.5. Контрольные вопросы 216
Глава 9. ОПРЕДЕЛЕНИЕ ОКОН.......................................................................... 217
9.1. Описание (создание) окна 218
9 2. Активация окна 220
9.3. Управление расположением окна 220
9.4. Деактивация окна................................................................................ 221
9.5. Перемещение окна 221
9 6. Удаление окон..................................................................................... 221
9.7. Удаление указанных окон 221
9.8. Сохранение окон в памяти 222
9 9. Восстановление сохраненных окон.................................................... 222
9 10 Изменение положения окна................................................................ 222
911. Прокрутка окна................................................................................... 223
9 12 Примеры............................................................................................ 224
9 13. Контрольные вопросы 229
Глава 10. ПСЕВДОГРАФИКА И ЭЛЕМЕНТЫ УПРАВЛЕНИЯ.......................... 231
10. |. Изобразительные средства................................................................. 231
10.2 Элементы управления 235
10.3. Создание экранной формы 236
10 4 Примеры 254
10 5 Контрольные вопросы........................................................................ 274
Глава 11. ОСНОВЫ ЯЗЫКА ЗАПРОСОВ SQL..................................................... 277
11.1. Создание табличного файла 277
11.2 Добавление записей в таблицу 279
11.3 Редактирование записей таблицы 280
11.4 Выбор данных из таблицы 280
11.5. Примеры 282
11.6. Контрольные вопросы 289
Глава 12. ФУНКЦИИ СУБД................................................................................. 291
12.1. Математические функции 291
12.2. Строковые функции 301
12.3. Функции проверки файлов и дисков 316
12.4. Функции позиционирования выдачи данных 328
12 5. Функции работы с мышью............................................................... 330
12.6. Технические функции 331
12.7. Функции времени 334
12.8. Функции анализа условий 336
12.9 Функции анализа типа и наличия данных.......................................... 336
12.10. Финансовые функции 337
12.11. Функции подстановки 339
12.12. Некоторые полезные операторы 341
Глава 13. СОЗДАНИЕ ОТЧЕТОВ............................................................................. 342
13.1. Создание табличного отчета По данным одной таблицы с помощью Мастера отчетов 345
13.2. Создание табличного отчета по данным нескольких таблиц..
с помощью Мастера отчетов............................................................. 352
13.3. Создание отчета с помощью Конструктора отчетов 354
13 4. Создание почтовой этикетки............................................................. 361
13 5. Примеры............................................................................................. 362
13 6. Контрольные вопросы........................................................................ 374
Приложение.......................................................................................................... 375
Литература............................................................................................................ 376
От автора
Предлагаемое вашему вниманию учебное пособие «Базы данных» имеет своей целью научить создавать приложения локальных баз данных. Поскольку учебное пособие рассчитано на подготовку программистов-профессионалов, то основное внимание уделено написанию программных кодов, а затем показано, как выполняются те же самые действия с использованием средств быстрой разработки программ. Написание программных кодов знакомит студентов с теми механизмами, которые заложены в отдельные элементы средств быстрой разработки. Это способствует глубокому пониманию излагаемого материала и ориентирует студентов на создание собственных оригинальных элементов интерфейса, обладающих уникальными свойствами.
В конечном счете, при создании приложения баз данных для конкретного предприятия, студент будет в состоянии разработать ясный и простой в управлении интерфейс, который учитывает все пожелания заказчика за счет гибкого применения стандартных и собственных уникальных элементов интерфейса.
Учебное пособие «Базы данных» состоит из тринадцати глав. Первая глава «Теория баз данных» посвящена ихюжению основных понятий и общепринятых терминов, используемых при проектировании баз данных. Эта глава вводит читателя в круг проблем и показывает общую структуру локальных баз данных. Во второй главе «Работа с табличными файлами» рассмотрены вопросы создания, открытия, просмотра, редактирования и модификации табличных файлов. Третья глава «Индексирование
баз данных» посвящена вопросам создания и управления индексами. Индексы в проектировании баз данных занимают центральное место, поэтому текстовый материал снабжен большим количеством примеров, которые дополнены комментариями. Глава четвертая «Управление базами данных» содержит описание методов сортировки, поиска и фильтрации данных. Глава пятая «Установление взаимосвязей между таблицами» знакомит читателей с вопросами соединения отдельных таблиц в базу данных. В предыдущих главах были построены и сохранены отдельные таблицы. В этой главе показаны различные способы объединении таблиц и приведены примеры возможных объединений для решения конкретных задач. В шестой главе «Создание программных файлов» рассказывается о необходимости и приемах создания программных файлов. Приведены примеры создании программных файлов, один из которых в дальнейших главах будет дополняться до закошенною приложения. Седьмая глава «Основы языка программирования» посвящена операторам и конструкциям языка FoxPro. Многочисленные примеры в конце главы отражают использование практически всех операторов языка FoxPro. Глава восьмая «Создание меню» раскрывает вопросы создания пользовательских меню. В главе рассмотрены как световые, так и клавишные меню. Даны рекомендации по применению каждого вида меню, а также указаны их преимущества и недостатки. В главе девятой «Определение окон» рассмотрены вопросы построения пользовательских окон различной степени сложности. В примерах к главе показаны приемы управления окнами. Глава десятая «Псевдографика и элементы управления» содержит описание команд псевдографики, которые используются только при создании приложений, работающих под управлением MS DOS, и описание приемов создания элементов управления, которые работают как в среде MS DOS, так и в среде WINDOWS. Глава одиннадцатая «Структурированный язык запросов SQL» знакомит читателей с основными конструкциями структурированного языка запросов и показывает возможности создания и управления базами данных иным способом. В некоторых случаях проще применить конструкции структурированного языка, чем использовать традиционные способы управления базами данных. Глава двенадцатая «Функции СУБД» содержит описание функций языка FoxPro, не вошедших в предыдущие главы. Глава тринадцатая «Созда
ние отчетов» посвящена методам создания отчетов различных видов.
Учебный материал изложен в той последовательности, которая наиболее удобна при чтении лекций. Во всех главах, кроме первой, выполнение одного и того же действия показано разными способами, как правило, с помощью программных кодов или манипуляций в главном меню. Каждая глава снабжена примерами и упражнениями. Примеры подобраны таким образом, чтобы при последовательном их выполнении получилось законченное приложение.
Приведенные в учебном пособии примеры работают в среде программирования Visual FoxPro 6.0.
Учебное пособие «Базы данных» рассчитано на курс лекций но дисциплине «Базы данных» специальности 2203 «Программное обеспечение вычислительной техники и автоматизированных систем* общим объемом 100 часов, из которых 60 часов — теоретические занятия и 40 часов — практические занятия. Дли проведения лабораторных работ на компакт-диске представлены для каждой главы учебного пособия образцы программ.
Учебное пособие «Базы данных* написано в полном соответствии с примерной программой дисциплины «Базы данных», составителем которой и является автор [1].
Автор благодарит г-на Ульмана И. В. за тестирование примеров на компакт-диске и сделанные замечания и уточнения.
Автор будет благодарен читателям, которые пожелают прислать свои замечания и уточнения к тексту учебного пособия и прилагаемым программам по адресу редакции: 107996, ГСП-6, Москва, 1-й Рижский пер., 2 или по электронной почте info@mir-publishers.net; t_khokhlova@mtu-net.ru.
Учебное пособие «Базы данных* является первым в серии учебных пособий автора. В 2002 году выйдут в свет учебные пособия «Проектирование удаленных баз данных», «Компьютерно-телекоммуникационные сети» и «Архитектура ЭВМ*.
Принятые обозначения и сокращения
SEEK <выр.> — команда, оператор или функция языка программирования;
File -> Open — команда главного меню;
— выбор программиста. Выбирается опция (параметр) либо слева, либо справа от символа |;
[...] — необязательная опция ключевое слово или
параметр;
<выр. О — выражение символьного типа;
<выр. N> — выражение числового типа;
<выр. L> — выражение логического типа;
<выр. D> — выражение типа даты.
Справочник команд, операторов и функций
S (оператор). 301 U (оператор),
Л (команда), 339 && (команда), 341 * (оператор), 341 — (оператор), 131,341; (оператор), 341 I (команда), 333,154? (команда), 138 Tt (команда), 138 @... (команда), 139 ®... BOX (команда), 231 ©... CLEAR (команда) 139 ©... FILL ТО (команда), 234 ©... MENU (команда), 173 ®... SAY... GET... (команда), 139, 193,235 ©... ТО (команда), 232 ©... PROMPT (команда), 172 ABS0 (функция), 291 ACOPY0 (функция), 148 ACCEPT (команда), 195 ACTIVATE MENU (команда), 186 ACTIVATE POPUP (команда), 181 ACTIVATE WINDOW (команда), 220 ADD TABLE (команда), 64 АОЕЦ) (функция), 147 ADIRo (функция), 151
AELEMENT0($)>hk4Uj?), 147 AFIELDS0 (функция), 150 AlNSO (функция), 147 ALIASO (функция), 49 ALLTRIMO (функция). 305 APPEND (команда), 59 APPEND FROM (команда), 137 ASCO (функция), 314 ASCANO (функция), 149 ASINO (функция), 299 ASOKTO (функция), 149 ASUBSCRIPTO (функция), 146 ATO (функция), 301 ATAN0 (функция), 299 ATC0 (функция), 301 ATN20 (функция), 300 ATCLINE0 (функция), 308 ATLINEO (Ф>'нкция), 308 AVERAGE (команда), 125 AVGO (функция), 125 BAR0 (функция), 183 BETWEENO (функция), 292 BOFO (функция), 316 BROWSE (команда), 50,57 CALCULATE (команда), 125 CANCEL (команда), 121 CAPSLOCK0 (функция), 195 CDOWQ (функция), 312
CDXO (функция), 81 CEILING0 (функциях 292 CHANGE (команда), 57 &Щ) (функция), 315 СН RSAW 0 (функция), 195 CHRTRAN'O (функция), 305 CLEAR (команда), 139,173,175,192 CLEAR MACROS (команда), 193 CLEAR MENUS (команда), 188 CLEAR MEMORY (команда), 134 CLEAR POPUPS (команда), 182 CLEAR WINDOWS (команда), 221 CLOSE (команда), 67 CLOSE INDEX (команда), 78 CMONTH0 (функция), 312 CNTO (функция), 125 CNTBARO (функция), 183 CNTPADO (функция), 188 COLO (функция), 329 CONTINUE (команда), 90,321 COPY INDEXES (команда), 80 COPY TAG (команда), 80 COPY TO ARRAY (команда), 136 COSO (функция), 298 COUNT (команда), 126 CREATE (команда), 43 CREATE DATABASE (команда), 62 CREATE TABLE (команда), 47,277 CREATE TABLE (SQL-команда), 277 CTOD0 (функция), 312 CUPDIRO (функция), 327 DATEO (функция), 313 DAYO (функция), 313 DBFO (функция), 318 DEACTIVATE MENUS (команда) 187 DEACTIVATE POPUP (команда), 180.
181,182,183
DEACTIVATE WINDOW (команда), 221
DECLARE (команда), 131
DEFINE BAR (команда), 178
DEFINE MENU (команда), 184
DEFINE VAD (команда), 185
DEFINE POPUP (команда), 176,183
DEFINE WINDOW (команда), 218
DELETE (команда), 61
DELETE TAG (команда), 80
DELE 1 EDO (функция), 319
DIMENSION (команда), 131
DISKSPACEO (функция), 318
DISPI AY (команда), 66
DISPLAY MEMORY (команда), 133
DMY0 (функция), 313
DO CASK (команда), 154,171,174.175
DO (команда), 118.120,122
DO W1П LE (команда), 152
DOW0 (функция) 313
DTOC0 (функция), 313
EDIT (команда), 57
EMFTY0 (функция), 336
EOF0 (функция), 319
EVALUATE0 (функция), 340
ЕХГГ (команда), 152
EXPO (функция), 297
FCOUNT0 (функция), 322
FIELD0 (функция), 320
FI LEO (функция), 320
F1LTF.R0 (функция), 322
FIND (команда), 90
FKMAX0 (функция), 331
FLOORO (фунты), 292
FOR (команда), 152
FOUND0 (функция), 321
FREE TABLE (команда), 65
FUNCTION (команда), 122 f\Q (функция), 338 GATHER FROM (команда), 91353 GO (команда), 155 GOTO (команда), 155 GOMONTH0 (функция), 314 HEADKR0 (функция), 326 HIDE MENU (команда), 123,188 HIDE POPUP (команда), 182 HOUR0 (функция), 335 IF (команда), 154 WQ (функция), 336 INDEX (команда), 74 INKEY0 (функция), 193,194 E4LIST0 (функция), 302 INPUT (команда), 195 INSERT (SQL-команда), 279 INTO (функция), 293 ISALPHA0 (функция), 310 1SCOLOR0 (функция), 334 ISDIGTT0 (функция), 303 ISLOWER0 (функция), 311 ISNULL0 (функция), 311 ISUPPER0 (функция), 311 JOIN (команда), 104 KEYBOARD0 (функция), 194 1ASTKEY 0 (функция), 194 LEFT0 (функция), 304 LENO (функция), 303 LIKE (оператор), 304 LIST (команда), 66,319 LOCATE (команда), 89,321 LOGO (функция), 297 LOG 100 (функция), 297 LOOKUP0 (Функция), 323 LOOP (команда), 152
IOWER0 (функция), 311 LTR1 МО (функция), 305 LUPDATE0 (функция), 323 M.AX0 (функиия), 125,293 MCOL0 (функция), 330 MDOWN0 (функция), 330 MDX0 (Функция), 81 \\ESU (команда), 114,174 MENU BAR (команда), 174,175 MENU ТО (команда), 172 MENU0 (функция), 188 MIN0 (функция), 125,294 MINLTE0 (Функция), 335 MUNE0 (функция), 310 MEMLINESO^wkkwi;, 310 MEMORY0 (функция), 333 MOD0 (функция), 294 MODIFY COMMAND (команда), 116 MODIFY STRUCTURE (команда), 62 MONTH0 (функция), 314 MOVE POPUP (команда), 183 MOVE WINDOW (команда), 221 M RKBAR0 (функция), 184 MRKPAD0 (функция), 189 MROW'0 (функция), 330 MTON0 (функция), 316 NEXT (команда), 152 NDX0 (функция), 81 NPV0 (функция), 126 OCCURS0 (функция), 304 OUQ (функция), 195 ON BAR (команда), 180 ON ERROR (команда), 190 ON ESCAPE (команда), 190 ON KEY (команда), 191 ON KEY LABEL (команда), 191,192
ON READERKOR (команда), 190 ON PAD (команда), 187 ON SELECTION BAR (команда), 180 ON SELECTION MENU (команда), 187 ON SELECTION PAD (команда), 187 ON SELECTION POPUP (команда), 179 ORDER0 (функция), 324 PACK (команда), 61 PADO (функция), П6,123,188 PADCO (функция), 308 PADLO (функция), 308 PADRO (функция), 308 PARAMETERS (команда), 120 PAYMENT0 (функция), 337 PCOL0 (функция), 329 PI0 (функция), 300 POP KEY (команда), 192 POPUP0 (функция), 183 PRINISTATUSO (функция), 333 PRIVATE (команда), 123 PROCEDURE (команда), 120 PROMPT0 (функция), 183 PROPERO (функция), 311 PROW0 (функция), 329 PUBLIC (каманОа), 123 PUSH KEY (команда), 191.192 PV0 (функция), 338 QUIT (команда), 122 RAND0 (функция), 295 RATO (функция), 302 RATLINE0 (функция), 309 READ (команда), 144,235 READ MENU (команда), 173 READ MENU BAR (команда), 175 READKEY0 (функция), 194 RECCOUNT0 (функция), 126,325
RECNO0 (функция), 324 RECSIZEO (функция), 326 REINDEX (команда), 79 RELEASE (команда), 134 RELEASE BAR (команда), 182 RELEASE MENUS (команда), 188 RELEASE PAD (команда), 188 RELEASE POPLPS (команда), 182 RELEASE WINDOWS (команда), 221 REMOVE TABLE (команда), 65 RENTRY (команда), 121 REPLACE (команда), 58,105 REPLICATEO (функция), 306 RESTORE FROM (команда), 133 RESTORE WINDOW (команда), 222 RETURN (команда), 121,182 RIGHTO (функция), 305 ROUND0 (функция), 295 ROW'0 (функция), 329 RTOD0 (функция), 300 RTREVI0 (функция), 305 RUN (команда), 154, 333 SAVE JO (команда), 132 SAVE WINDOW (команда), 222 SCAN (команда), 153 SCATTER (команда), 134 SCHEME0 (функция), 334 SCOLS0 (функция), 223 SCROLL (команда), 135 SEC0 (функция), 335 SECONDS0 (функция). 335 SEEK (команда), 90,321324 SEEK() (функция), 326 SELECT (команда), 98 SELECT (SQL-команда), 280 SET0 (функция), 332
SET ALTERNATE (команда), 332 SET BELL (команда), 69,235 SET BLINK (команда), 234 SET BORDER TO (команда), 232 SET CENTURY (команда), 68,313 SET COLOR TO (команда), 233,234 SET CONFIRM (команда), 69,170,171 SET DATE (команда), 68 SET DECIMALS (команда), 300 SET DEFAULT (команда), 68 SET DELETED (команда), 126 SET ESCAPE (команда), 118,119,191 SET FIELDS TO (команда), 92 SET FILTER TO (команда), 92 SET FIXED (команда), 300 SET FUNCTION (команда), 192,193 SET FORMAT TO (команда), 53 SET INDEX (команда), 78 SET MESSAGE (команда), 172, 173, 174
SET ORDER (команда), 79 SET PATH (команда), 68 SET PROCEDURE (команда), 119 SET RELATION (команда), 99 SET RELATIONS (команда), 99 SET RESOURCE (команда), 55 SET SAFETY (команда), 133 SET SKlP/fcawoM&J, 100 SET SKIP OF (команда), 189 SET STATUS (команда), 68 SET TALK (команда), 69,170 SCHEME0 (функция), 235 SHOW MENU (команда), 186 SHOW POPUP (команда), 181 SHOW WINDOW (команда), 220 SIGN'O (функция), 296
SISO (функция), 298 SORT (команда), 88 SQRT0 (функция), 298 SPACEO (функция), 306 SROWS0 (функция), 224 STORE (команда), 131 STD0 (функция), 126 STR0 (функция), 315 STRTRAN0 (функция), 307 STUFF0 (функция), 306 SUBSTR0 (функция), 305 SUM (команда), 124 SUMO (функция). 126 SYS(2) (функция), 335 SYS(5) (функция), 328 SYS(12) (функция), 333 SYS(13)№vw4i«A333 SYS(16) (функция), 334 SYS(17) (функция), 332 SYS(i8) (функция), 331 SYS<1001) (функция). 334 SYS(2002) (функция), 332 SYS(2003) (функция), 328 SYS(2004) (функция), 328 SYS(2006) (функция), 332 TAG0 (функция), 81 TAN0 (функция), 299 TIME0 (функция), 335 TOTAL (команда), 106 TRANSFORM0 (функция), 307 TYPE0 (функция), 337 L PDATE (команда), 105 UPDATEO (функция), 327 UPDATE (SQL-команда), 280 UPPER0 (функция), 312 USE (команда), 47,48
VAL0 (функция), 316 VARO (функция), 126 VARRKADO (функция), 196,331 VERSION0 (функция), 334 WCOLS0 (фунты), 223 WEXIST0 (функция). 223 WLASTO (Функция), 223 VibCOhO (Функция), 224 WLROW0 (функция), 224
W MAXIMUM 0 (функция), 224 WMIMMUMO (функция), 223 WONTOP0 (функция), 223 WOUTPLT0 (функция), 223 WROWS0 (функция), 223 WTTTLE0 (Функция), 224 YEAR0 (функция). 314 ZOOM WINDOW (команда), 222
Глава 1
ТЕОРИЯ БАЗ ДАННЫХ
Обработка больших объемов информации становится не под силу человеку, поэтому для быстрой и достоверной обработки данных используются персональные компьютеры. Информация в компьютере структурируется и хранится, как правило, в виде таблиц. В свою очередь, отдельные таблицы объединяются в базы данных.
Базы данных (БД) — это один или несколько файлов данных, предназначенных для храпения, изменения и обработки больших объемов взаимосвязанной информации. Примерами баз данных могут быть телефонная книга, каталог товаров, штатное расписание и т. д.
Мало создать базу данных, надо разработа ь механизмы извлечения информации из базы данных и ci особы се представления на экране и бумаге. Дчи этих целей предназначена система управления базами данных (СУБД).
СУБД — это система программного обеспечения, предоставляющая доступ к данным многих пользователей. СУБД обеспечивает правильность, полноту и непротиворечивость данных, а также простой и понятный интерфейс.
Основой баз данных является информация (данные) о конкретной группе предметов (объектов). Как правило, базы данных создаются для какого-либо предприятия (организации) в Целом; информацией (данными) пользуются различные структурные подразделения предприятия, причем каждое подразделение использует одни и те же данные в различных форматах. Особое место занимает создание терминологии, то есть однозначного понимания назначения конкретных данных, их типа и структуры. Создание единой терминологии — тяжелая и кропотливая работа, сопряженная с разрешением конфликтных ситуаций.
Прежде чем приступить к проектированию приложении баз данных, надо уточнить некоторые понятия и определения.
Объект — это нечто существующее и различимое, обладающее набором свойств. Отличие одного объекта от другого определяется конкретными значениями свойств. Объекты бывают материальные и идеальные. К материальным объектам относятся предметы материального мира: автомобиль, здания, предметы мебели и т. д. К идеальным (абстрактным) объектам можно отнести спектакль, содержание книги и т. д.
Сущность — отображение объекта в памяти человека или компьютера.
Параметр — конкретное значение любого из свойств объекта.
Атрибут — конкретное значение любого из свойств сущности.
Таблица — некоторая регулярная структура, состоящая из конечного числа записей (строк). Как правило, в базах данных используются двумерные массивы (матрицы).
Запись — это одна строка таблицы (или нескольких таблиц), полностью описывающая одну сущность. Каждая запись состоит из конечного числа полей.
Поле — это один элемент записи, в котором хранится конкретное значение атрибута.
Ключевым элементам данных (ключом) называется такой атрибут, по значению которого можно определить значения других атрибутов.
Первичный ключ — это атрибут или группа атрибутов, которые однозначно определяют каждую запись в таблице. Первичный ключ всегда должен быть уникальным, то есть его значения не должны повторяться.
Альтернативный ключ — это отличные от первичного ключа атрибут или группа атрибутов, которые также однозначно определяют каждую запись в таблице. Например: сущность «Служащий* имеет атрибуты: идентификатор служащего (табельный номер), фамилия, имя, отчество, должность, оклад. Первичным ключом назначим поле «Идентификатор служащего». Альтернативным ключом назначим группу полей «Фамилия», «Имя», «Отчество* (только в том случае, если нет тройных тезок).
Связь — это функциональная зависимость между сущностями. Если между некоторыми сущностями существует связь, то атрибуты из одной сущности ссылаются или некоторым образом связаны с атрибутами другой сущности. Связи описываются пятью основными характеристиками.
• Тип связи — это идентифицирующая характеристика, когда дочерняя сущность однозначно определяется через ее связь с родительской сущностью. Атрибуты, составляющие первичный ключ родительской сущности, обязательно входят в первичный ключ дочерней сущности.
• Не идентифицирующая характеристика, когда дочерняя сущность определяется иначе, чем через связь с родительской сущностью. Атрибуты первичного ключа родительской сущности входят как неключевыс атрибуты в дочернюю сущность.
• Родительская сущность.
• Дочерняя (зависимая) сущность.
• Мощность связи — это отношение количества родительских сущностей к соответствующему количеству дочерних сущностей.
Хранимая процедура — это приложение (программа), объединяющая запросы пользователя и процедурную логику и хранящаяся в базе данных.
Правило — это логическое условие, определяющее значение одного атрибута в зависимости от значения другого атрибута (или группы атрибутов). С помощью правила контролируется достоверность вводимой информации.
Ограничение — это логическое условие, накладывающее ограничение (интервал допустимых значений) на значение атрибута.
Триггер — это предварительно определенное действие или последовательность действий, автоматически осуществляемых при выполнении операций обновления, добааления или удаления Данных. Триггер выполняется автоматически при выполнении Указанных действий и не может быть отключен. Триггер включает в себя:
Дата добавления: 2015-09-29; просмотров: 15 | Нарушение авторских прав
<== предыдущая лекция | | | следующая лекция ==> |