База данных. Понятие базы данных. Виды баз данных. Объекты для работы с базами данных. Типы данн - Презентация.


Лабораторная работа «Создание таблиц баз данных»
Цель работы. Освоить навыки создания таблиц баз данных (БД) системы управления базами данных (СУБД) Paradox , работающей в однопользовательском режиме, в среде программирования Delphi .

Основные сведения, необходимые для выполнения работы


  1. Основные понятия

Приложение Delphi осуществляет доступ к БД через BDE (Borland Database Engine - Процессор баз данных фирмы Borland ). BDE представляет собой набор драйверов, обеспечивающих доступ к данным. Система BDE должна устанавливаться на всех компьютерах, на которых работают с БД приложения Delphi . Локальные БД расположены на том же компьютере, что и приложения, работающие с ними (рис.1) .

Рис.1. Локальная БД

Реляционная БД состоит из взаимосвязанных таблиц. Обычно таблицы, об­разующие БД, находятся в каталоге на жестком диске. Таблицы хранятся в файлах. Они похожи на отдельные документы или электронные таблицы, их можно перемещать и копировать обычным способом, например, с помощью проводника Windows . Для одной таблицы создается несколько файлов, содержащих данные, индексы, ключи и т. п. Имя главного файла таблицы (файла, содержащего данные) - оно же является именем таблицы - задается при создании таблицы. Имена остальных файлов таблицы назначаются автоматически, причем имена всех этих файлов совпадают с именем таблицы, за исключением расширении имен; разные расширения указывают на содержимое соответствующего файлам .

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

Таблицы Paradox являются достаточно развитыми и удобными при создании БД. Основные достоинства таблиц Paradox :


  • Имеется много различных типов полей для представления данных

  • Поддерживается целостность данных

  • Возможность организации проверки вводимых данных

  • Поддерживается защита таблиц с помощью паролей
В табл.1 представлен список типов полей таблиц Paradox 7 . Для каждого типа приводится символ, используемый для обозначения этого типа в про­грамме Database Desktop , а также описание значений, которые может со­держать поле рассматриваемого типа .

Таблица 1. Типы полей таблиц Paradox 7


Тип

Обозначение

Описание значения

Alpha

A

Строка символов. Длина не более 255 символов

Number

N

Число с плавающей точкой. Диапазон -10 307 - 10 308 Точность 15 цифр мантиссы

Money

$

Денежная сумма. Отличается от типа Number тем, что в значении отображается денежный знак. Обозначение денежного знака зависит от установок Windows

Short

S

Целое число. Диапазон -32 768- 32 767

Longlnteger

I

Целое число.

Диапазон -2 147 483 648 - 2147483647


Таблица 1. (окончание)

BCD

#

Число в двоично-десятичном формате

Date

D

Дата. Диапазон 01.01.9999 до н.э. . -. 31.12.9999

Time

T

Время

Timestamp

@

Дата и время

Memo

M

Строка символов. Длина не ограничена. Первые 240 символов хранятся в файле таблицы, ос­тальные в файле с расширением MB

Formatted

F

Строка символов. Отличается от типа Memo тем, что строка может содержать форматированный текст

Graphic

G

Графическое изображение. Форматы BMP, PCX, TIP, GIF и EPS. При загрузке в поле изображение преобразуется к формату BMP. Для хранения изображения используется файл с расширением MB

OLE

O

Данные в формате, который поддерживается технологией OLE. Данные хранятся в файле с расширением MB

Logical

L

Логическое значение. Допустимые значение T(Истина) и F (Ложь). Разрешается использование прописных букв

Autoincrement

+

Автоинкрементное поле. При добавлении к таблице новой записи в поле автоматически заносится уникальное значение. При удалении записи значение ее автоинкрементного поля больше не будет использовано. Значение такого поля доступно для чтения и обычно используется в качестве ключевого

Binary

B

Последовательность байтов. Длина не ограничена. Байты содержат произвольное двоичное значение. Первые 240 байт хранятся в файле таблицы, остальные в файле с расширением MB

Bytes

Y

Последовательность байтов. Длина не более 255 байт

Замечание

При работе с таблицей в среде программы Database Desktop значения таких типов, как Graphic, Binary, Memo, OLE не отображаются.
Имя поля в таблице Paradox должно состоять из букв (в том числе из букв кириллицы) и цифр и начинаться с буквы. Максимальная длина имени составляет 25 символов. В имени можно использовать такие символы, "пробел", "#", "$" и некоторые другие. Не рекомендуется применять в имени символы ".", " >" и "|”, так как они зарезервированы в Delphi для других целей .

Ключевые поля должны быть первыми в структуре таблицы.
Замечание

Если требуется обеспечить возможность совместимости данных из таблиц Paradox с данными таблиц других форматов, то желательно составлять поля из латинских букв и цифр, длина которого не больше 10 символов.
При поддержке целостности данных обеспечивается правильность ссылок между таблицами. Например, если в БД имеются таблицы, которые могут быть связаны следующим образом: каждая запись главной таблицы ссылается через специальное индексное поле на запись в подчиненной таблице. Если в главной таблице любым способом удалить запись с информацией, то BDE автоматически удалит в подчиненной таблице все соответствующие записи. Подобное удаление взаимосвязанных записей называется каскадным .

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

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

При работе с конфиденциальной информацией может потребоваться защита таблиц и их полей. Для каждой таблицы Paradox можно указать основной па­роль, который используется при изменениях во всей таблице, связанных со сменой структуры таблицы или с редактированием данных в любом поле. Кроме того, возможно задание дополнительного пароля, который позволяет ограничить доступ к конкретному полю или группе полей таблицы, а также ограничить набор операций, применимых к таблице, например, допуская только чтение записей таблицы и не допуская их модификацию. При нали­чии паролей они автоматически запрашиваются и контролируются при по­пытке доступа к таблице .

Недостатком таблиц Paradox является наличие относительного большого количества файлов, требуемых для хранения данных, содержащихся в таб­лице. При копировании или перемещении какой-либо таблицы из одного каталога в другой необходимо обеспечить копирование или перемещение всех файлов, относящихся к этой таблице. Файлы таблиц имеют следующие расширения :


  • DB - таблица с данными

  • MB - BLOB -данные

  • РХ - главный индекс (ключ)

  • XG ? и YG ? - вторичные индексы

  • VAL - параметры для проверки данных и целостности ссылок

  • TV и РАМ - форматы вывода таблицы в программе Database Desktop
Замечание

Указанные файлы создаются при необходимости, конкретная таблица может не иметь всех этих файлов.
2. Средства работы с базами данных
Delphi не имеет своего формата таблиц БД, однако, обеспечивает мощную поддержку многих СУБД. К средствам Delph i, предназначенным для работы с БД, относятся следующие:


  • Инструментальные средства (специальные программы и пакеты, обеспечивающие обслуживание БД вне разрабатываемых приложений)

  • Компоненты, предназначенные для создания приложений, осуществляющих операции с БД.
2.1 Инструментальные средства

Для операций с БД система Delphi предлагает такие инструментальные средства:


  • Borland DataBase Engine (BDE ) – процессор баз данных, который представляет собой набор библиотек, предназначенных для организации доступа к БД из приложений Delphi . BDE является центральным звеном, используемым для доступа к данным;

  • BDE Administrator – утилита для настройки BDE . Позволяет настраивать различные параметры БД;

  • Database Desktop – программа для создания и редактирования таблиц, SQL - и QBE - запросов;

  • SQL Explore – проводник БД, позволяющий настраивать параметры БД;

  • SQL Monitor – программа для отслеживания порядка выполнения SQL запросов;

  • SQL Links – драйверы для доступа к удаленным промышленным СУБД;

  • Local InterBase Server локальная версия SQL -сервера Borland InterBase , которая используется при отладке приложений, предназначенных для работы с удаленными БД в архитектуре клиент-сервер. (После отладки на локальном компьютере приложение может быть перенесено на сетевые компьютеры без изменения, необходимо только установить новые параметры соединения с удаленной БД. Версия сервера рассчитана на два одновременных соединения с сервером.);

  • InterBase Server for Windows 95 – многопользовательская версия SQl – сервера Borland InterBase , рассчитанная на четыре одновременных соединения. В основном используется для отладки приложений.

2.1.1 Программа BDE Administrator
Программа BDE Administrator представляет собой администратор процессора баз данных BDE . BDE позволяет настраивать параметры БД и системные параметры (операционной системы). В их числе в качестве основных можно выделить следующие:


  • Параметры псевдонима БД:

    • Название;

    • Путь.

  • Параметры драйвера:

    • Язык.

  • Системные установки:

  • Установки по умолчанию;

  • Форматы даты, времени и числовые форматы.
Для настройки некоторого параметра в левой части окна администратора BDE выбирается нужный объект, после чего в правой части окна становится доступным список параметров этого объекта. Добавить новый объект можно, выбрав в окне администратора пункт меню Object / New (Объект/ Новый).

Работа с псевдонимами . Псевдоним (alias ) указывает на местоположение файлов БД и представляет собой специальное имя для обозначения каталога. Использование псевдонимов существенно облегчает перенос файлов БД в другие каталоги и на другие компьютеры. При этом не требуется изменять приложение, которое осуществляет доступ к таблицам БД. Если в приложении расположение таблиц указано с помощью псевдонима, то после перемещения БД для обеспечения работоспособности приложения достаточно изменить путь, на который указывает псевдоним. Если же в приложении путь к БД указан без помощи псевдонима, то после перемещения БД нужно изменять само приложение – вносить изменения в исходный код и заново транслировать .

Для добавления нового псевдонима перед вызовом опции Object / New администратора нужно выбрать вкладку Databases в левой части окна, в противном случае команда New будет недоступна. После задания этой команды появляется диалоговое окно (рис. 2), позволяющее выбрать тип драйвера Database Driver Name . Для локальных таблиц Paradox выбирается тип STANDARD .


Рис.2. Выбор типа драйвера

После нажатия OK создается новый псевдоним, и его данные отображаются в окне администратора BDE (рис.3).

Новый псевдоним автоматически получает имя STANDARD 1 и параметры по умолчанию. При необходимости можно переименовать псевдоним, выполнив команду Rename (Переименовать) контекстного меню псевдонима или пункта Object (Объект) главного меню администратора. Псевдоним для работы с локальными БД имеет следующие три параметра:


    • Default Driver – указывает формат таблиц БД (по умолчанию значение Paradox ) ;

    • Enable BCD – указывает на возможность перевода чисел в формат BCD , что позволяет более точно выполнять численные вычисления, но уменьшает скорость их выполнения. По умолчанию имеет значение false и соответственно выключено;

    • Path – указывает расположение (каталог) БД. После создания нового псевдонима путь не определен, его необходимо установить самостоятельно .


Рис.3. Установка параметров псевдонима

Значение параметров Path можно ввести вручную или с помощью выбора требуемого каталога в окне Select Directory (Выбор каталога), которое появляется при двойном щелчке в поле значения параметра. Смена пути выполняется при перемещении БД, например, в другой каталог.


Рис.4. Установка значения Path

Применить сделанные изменения можно, выбрав синюю круглую стрелку (Apply ) панели инструментов, или выбрав пункт меню Object (Объект)/ Apply (Применить).
2.1.2. Программа Database Desktop
Программа предназначена для создания и редактирования таблиц, визуальных запросов и SQL – запросов, а также для выполнения действий с псевдонимами. Эту программу можно вызвать из среды Delphi по команде Tools / Database Desktop .

Работа с псевдонимами . Для работы с псевдонимами БД используется Менеджер псевдонимов (рис.5), вызываемый по команде Tools / Alias Manager (Средства/ Менеджер псевдонимов) меню программы Database Desktop .


Рис.5. Окно Менеджера псевдонимов

С помощью Менеджера псевдонимов можно создать (кнопка New ) и удалить (кнопка Remove ) псевдонимы. Имя псевдонима вводится (для нового псевдонима) или выбирается (для существующего псевдонима) в списке Database Alias . Кроме того, можно изменять параметры псевдонимов – тип драйвера (список Driver Type ) и путь (поле Path ).

Процесс создания новой таблицы начинается по команде File \ New \ Table (Файл/ Новая /Таблица) и происходит в интерактивном режиме, при этом разработчик должен:


  • Выбрать тип таблицы

  • Задать структуру таблицы

  • Указать ключевые поля

  • Определить ограничения на значения полей

  • Определить пароль

  • Задать ссылочную целостность (связи) между таблицами
Обязательны два первых действия, перечисленные в этом списке. Сначала в окне Create Table (рис.6) выбирается ее формат. По умолчанию предполагается формат таблицы Paradox версии 7, который и используем.

Рис. 6. Выбор формата таблицы

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

Для каждого поля задается имя (в столбце Field Name ) и тип (в столбце Type ) и при необходимости размерность (в столбце Size ). Можно задать тип поля, непосредственно указав соответствующий символ, или выбрать из списка (рис.7), раскрываемого после нажатия клавиши «Пробел» или щелчка кнопки мыши на столбце с указанием типов. Список содержит все типы полей, допустимые для заданного формата таблицы.

Для указания ключевых полей в столбце ключа Key нужно ввести символ «*», дважды щелкнув по полю кнопкой мыши. При повторном нажатии снимается отметка о принадлежности поля ключу. Ключевые поля должны быть в списке первыми, т.е. располагаться при задании структуры таблицы вверху.

Для выполнения дополнительных действий по определению структуры таблицы используется комбинированный список Table properties (Свойства таблицы), содержащий следующие пункты :


  • Secondary Indexes – задание индекса

  • Validity checks – ограничения на ввод значений полей

  • Password security – определение пароля

  • Referential Integrety – определение ссылочной целостности между таблицами

  • Table Language – задание языка

  • Table Lookup – задание полей просмотра


Рис. 7. Окно для определения структуры таблицы

Задание индекса. При выборе пункта Secondary Indexes комбинированного списка становится доступной кнопка Define (определить). После ее нажатия появляется окно Define Secondary Index (Задание вторичного индекса) (рис.8). В этом окне задаются индексные поля, отображаемые в правом списке, и параметры индексов, основные из которых изменяются с помощью следующих флажков :


  • Unique – индекс допускает уникальные значения для составляющих его полей

  • Case sensitive – для полей строкового типа учитывается регистр символов

  • Descending – сортировка выполняется в порядке убывания значений. (Если для индекса таблиц Paradox установлен флажок Descending , то при попытке сделать этот индекс текущим, возникает ошибка)

Рис. 8. Окно задания индекса

После задания состава индексных полей и нажатия кнопки OK появляется окно Save Index As (рис.9), в котором указывается имя индекса. Для удобства чтения программ рекомендуется имя индекса начинать с ind (в примере - indFamily ).

Рис. 9. Сохранение вторичного индекса

После определения структуры таблицы ее необходимо сохранить, нажав кнопку Save as .. и указав расположение таблицы на диске, выбрав Alias (Псевдоним) БД, (для данного примера псевдоним - Student ), а затем называем таблицу и сохраняем ее (например, Table _ Work ) (см. рис.10).


Рис.10. Сохранение таблицы БД

2.2 Компоненты

Рассмотрим компоненты, которые предназначены для создания приложений, работающих с БД. Кроме компонентов, Delphi также представляет специальные объекты, например, TField . Как и другие управляющие элементы Delphi, связанные с БД компоненты делятся на визуальные и невизуальные .

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

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

Компоненты, используемые для работы с БД, которые понадобятся для выполнения курсовой и лабораторных работ, находятся на страницах Data Access , Data Control и BDE Палитры компонентов.

На странице Data Access находится невизуальный компонент DataSource – источник данных, с помощью которого можно организовать доступ к данным (рис.11).

Рис.11. Страница Data Access

На странице BDE (рис.12) находятся невизуальные компоненты

Рис.12. Страница BDE


  • Table –набор данных, основанный на таблице БД;

  • Query – набор данных, основанный на SQL -запросе.

На странице Data Control (рис.13) находятся следующие визуальные компоненты, предназначенные для управления данными:

Рис.13. Страница Data Control


  • DBGrid – сетка (таблица);

  • DBNavigator – навигационный интерфейс;

  • DBText – надпись;

  • DBEdit – однострочный редактор;

  • DBMemo – многострочный редактор;

  • DBImage – графический образ;

  • DBListBox – простой список;

  • DBComboBox – комбинированный список;

  • DBCheckBox – независимый переключатель;

  • DBRadioGrooup – группа независимых переключателей;

  • DBLookupComboBox – постой список, формируемый по полю другого набора данных;

  • DBRichEdit – полнофункциональный тестовый редактор;

  • DBCtrlGrid – модифицированная сетка;

  • DBChart – диаграмма.

2.2.1 Набор данных Table

В терминах системы Delphi набор данных – это совокупность записей, взятых из одной или нескольких таблиц БД. Компонент Table представляет набор данных, который в некоторый момент времени может быть связан с одной таблицей БД. Набор данных является логической таблицей, с которой можно работать при выполнении приложения. Взаимодействие таблицы и набора данных напоминает взаимодействие физического файла и файловой переменной . Расположение БД, с таблицами которой выполняются операции, указывает свойство DatabaseName типа String . Значением свойства является имя каталога, в котором расположены файлы БД, или псевдоним, ссылающийся на этот каталог. Если для БД определен псевдоним, то его можно выбрать через Инспектор Объектов в раскрывающемся списке. Связь между таблицей и компонентом Table устанавливается через его свойство TableName типа TFileName , которое определяет имя таблицы (и имя файла, содержащего данные). При задании значения свойства TableName указывается имя этого файла и расширение имени файла.
2.2.2 Источник данных DataSource

Компонент источник данных используется как промежуточное звено между набором данных и визуальными компонентами, с помощью которых пользователь управляет набором данных. В Delphi источник данных представлен компонентом DataSource . Для указания набора данных, с которым связан источник данных, используется свойство DataSet типа TDataSet последнего. Визуальные компоненты связаны с источником данных через свои свойства DataSource . Обычно связь между источником и набором данных устанавливается при проектировании в Инспекторе Объектов. Эту связь можно установить или разорвать динамически. При смене у компонента DataSource набора данных визуальные компоненты автоматически подключаются к новому набору данных :

DataSource2.DataSet:=nil;

DataSource1.DataSet:=Table2;

Для компонента DataSource 2 связь с набором данных разрывается, а для компонента DataSource 1 назначается набор данных Table 2 .
2.2.3 Визуальные компоненты

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

Для вывода содержимого набора данных в табличном виде удобно использовать сетку, представленную в Delphi компонентом DBGrid . Внешний вид соответствует внутренней структуре таблицы БД и набора данных, при этом строке сетки соответствует запись, а столбцу – поле.
Навигатор

Навигатор обеспечивает интерфейс для управления набором данных. В Delphi навигатор представлен компонентом DBNavigator . Навигатор содержит набор кнопок, обеспечивающих выполнение различных операций с набором данных путем автоматического вызова соответствующих методов. Состав видимых кнопок определяет свойство VisibleButtons типа TButtonSet , принимающее комбинации следующих значений (в скобках указан вызываемый метод):


  • nbFirst – перейти к первой записи (First )

  • nbPrior – перейти к предыдущей записи (Prior )

  • nbNext – перейти к следующей записи (Next )

  • nbLast – перейти к последней записи (Last )

  • nbInsert – вставить новую запись (Insert )

  • nbDelete – удалить текущую запись (Delete )

  • nbEdit – редактировать текущую запись (Edit )

  • nbPost – утвердить результат изменения записи (Post )

  • nbCancel – отменить изменения в текущей записи (Cancel )

  • nbRefresh – освежить информацию в наборе данных (Refresh )
По умолчанию в навигаторе видимы все кнопки. При нажатии кнопки Delete Record может появляться диалоговое окно подтверждения удаления текущей записи, в котором пользователь должен подтвердить или отменить удаление. Появлением окна подтверждения управляет свойство ConfirmDelete типа Boolean , по умолчанию имеет значение True , окно подтверждения выводится. Свойство Flat типа Boolean управляет внешним видом кнопок. Подсказку для отдельной кнопки можно установить с помощью свойства Hints типа TString . По умолчанию список подсказок содержит текст на английском языке, который можно заменить на русский, вызвав строковый редактор String list editor . Для отображения подсказок нужно установить значение True свойству ShowHint , по умолчанию имеющему значение False .
Отображение и выбор значения

Для отображения значения некоторого поля текущей записи используется компонент DBText - аналог надписи Label . Значение поля выводится как нередактируемый текст. Для редактирования текущей записи используется компонент DBEdit . Для выбора одного значения из списка предназначены компоненты DBListBox , DBComboBox , DBLookupComboBox . Компонент связывается с полем «своего» набора данных через свойства DataSource и DataField .
2.3 Операции с таблицей БД

Создание, удаление и переименование

Для создания таблицы используется метод CreateTable . В результате на диске появится пустая таблица. Перед вызовом метода нужно подготовить необходимые данные, на основании которых выполняется создание таблицы. Эти данные следует присвоить в качестве значений соответствующим свойствам набора данных. Перед вызовом метода CreateTable набор данных должен быть закрыт и установлены значения следующих свойств :


  • DatabaseName – расположение БД (псевдоним)

  • TableName – название таблицы

  • TableType – тип таблицы

  • FieldDefs – описание полей

  • IndexDefs – описание индексов
DatabaseName задает имя файла таблицы, который будет находиться в каталоге, указанном для размещения БД (свойство DatabaseName ).

Формат таблицы TableName тира TTableName может быть следующим:


  • ttDefault – формат таблицы (по умолчанию) определяется на соновании следующих расширений имен файлов таблиц:

    • DB - Paradox

    • DBF – dBASE

    • TXT – ASCII
Если расширение файла отсутствует, то принимается формат Paradox

  • ttParadox - Paradox

  • ttDBase - dBASE

  • ttFoxPro - FoxPro

  • ttASCII ASCII (файл, содержащий текст, который разбит на колонки)
Для новой таблицы в свойстве FieldDefs типа TFieldDefs обязательно должно быть определено хотя бы одно поле. Перед описанием полей таблицы значение этого свойства следует очистить (удалить предыдущее значение), т.к. в ней может находится информация о полях предыдущей таблицы, с которой был связан набор данных. Для очистки значения свойства TFieldDefs можно применить метод Clear , для занесения информации о полях новой таблицы – метод Add . .

Процедура Add (const Name : String ; DataType : TFieldType ; Size : Word ; Required : Boolean ) добавляет к массиву полей описание нового поля. Параметр Name указывает название нового поля, а DataType – тип нового поля, который можно выбирать из следующего списка: ftUnknown , ftString , tSmallInt , ftInteger , ftWord , ftBoolean , ftCurrency , ftBCD , ftDate , ftTime , ftDateTime , ftBytes , ftVarBytes , ftAutoInc , ftMemo , ftGraphic , ftEmtMemo , ftParadoxOle , ftBaseOle , ftTypedBinary , ftBlob , ftCursor , ftFixedChar , ftWideString , ftLargeInt , ftADT , ftArray , ftReference , ftDataSet , ftMemo . В перечисленных значениях префикс указывает ft , что значение относится к типу поля (Field Type ), а последующая часть значения определяет сам тип.

Параметр Size определяет размер поля. Если для полей некоторых типов, например, поля даты ftDate , размер не задается, то параметр Size принимает нулевое значение. Логически параметр Required определяет, должно ли поле содержать значение (True ) или может быть пустым (False ). .

В таблице можно определить индексы, описание которых заносится в свойство IndexDefs . После предварительной очистки значения этого свойства методом Clear данные об индексах заносятся методом Add . После создания таблицы для нее можно создать индекс или удалить его с помощью методов AddIndex и DeleteIndex .

Для удаления таблицы используется метод DeleteTable , в результате выполнения которого происходит физическое удаление всех файлов указанной таблицы БД. Путь и имя удаляемой таблицы определяют свойства DatabaseName и TableName набора данных. Перед удалением таблицы набор данных должен быть закрыт. .

Для переименования таблиц можно использовать метод RenameTable (const NewTableName : String ), при выполнении которого переименовываются все файлы, относящиеся к таблице. Параметр задает новое название таблицы.

Задание на лабораторную работу.
Написать программу просмотра и редактирования двух таблиц БД, не связанных между собой. Одна таблица (Table _ Work ) создана в программе Database Desktop , другая (Table _ Relax ) создается в процессе выполнения программы.
Порядок выполнения работы.


  1. Создать Alias (псевдоним) новой БД через утилиту BDE Administrator , например Student .

  2. Создать таблицу (Table _ Work ) БД в программе Database Desktop . Таблица имеет следующие поля:
(№ п/п – Autoincrement , ФИО – Alpha , Зарплата – Number , Дата рождения – Date , Дата приема на работу – Date .

Для поля строкового типа необходимо указать размер.

Таблица имеет два индексированных поля: первичный ключ образован по полю № п/п, вторичный – по полю ФИО.


  1. Запустить среду Delphi . Сохранить проект (и все модули, входящие в него) в директорию Student /Группа > / лб №1/.

  2. Поместить на форму (Form 1 по умолчанию) следующие компоненты (имена оставлены по умолчанию): Table 1 , DataSource 1 , DBGrid 1 , DBNavigator 1, Button 1 , BitBtn 1. Переименовать название формы. Свойство Caption формы Form1 изменить на «Лабораторная работа №1». Внешний вид формы на этапе конструирования представлен (рис.14).


Рис.14. Внешний вид формы Form1 на этапе конструирования


  1. Для связи набора данных Table 1 , который связан с физической таблицей (Table _ Work ), созданной в программе Database Desktop , и сеткой DBGrid 1 , необходимо настроить свойства компонентов Table 1 , DataSource 1 и DBGrid . Это можно сделать в Инспекторе Объектов (Object Inspector ) или программно в процедуре-обработчике какого-нибудь события (открытия формы и т.д.):
DataSource1.DataSet:=Table1;

DBGrid1.DataSource:=DataSource1;

Аналогично настроить связь компонентов Table 1 , DataSource 1 и DBNavigator 1 .


  1. Так как таблица Table _ Work существует, можно ее свойства настроить на этапе конструирования:

  1. Свойству DatabaseName следует присвоить значение созданного псевдонима БД. Для этого в Инспекторе Объектов выбирается нужный псевдоним (Student , см. п.1), из списка доступных БД.

  2. Свойству TableName следует задать имя Table _ Work , выбрав его из списка доступных таблиц выбранной БД.

  3. Свойству Active присвоить значение True .
Если все предыдущие действия были сделаны правильно, то на этапе конструирования сразу после активизации таблицы появятся поля таблицы Table _ Work .

  1. BitBtn 1 . Кнопку BitBtn 1 переименовать, задав свойству Caption значение «Закрыть», а свойству Kind - значение bkClose . В теле процедуры необходимо закрыть набор данных Table 1.

  2. Добавить новую форму (по умолчанию Form 2 ), выбрав пункт меню File / New / Form . На форму поместить следующие компоненты: Table 2 , DataSource 2 , DBGrid 2 , DBNavigator 2, Button 2 , BitBtn 2 . Сохранить модуль, например по умолчанию Unit 2 . Добавить модуль в проект, выбрав Project / Add to Project . Внешний вид формы Form 2 аналогичен внешнему виду формы Form 1 , представленной на рис.14, разница лишь в том, что в сетке DBGrid 2 не отображается таблица Table _ Relax , так как она в общем случае не существует.

  3. Написать обработчик нажатия на кнопку Button 2 . Свойству Caption присвоить значение «Другая форма». При нажатии на данную кнопку форма Form 1 видна, а форма Form 2 не видна. Написать аналогичную процедуру для кнопки Button 1 формы Form 1 . При нажатии на кнопку Button 1 последовательность показа форм противоположна нажатию на кнопку Button 2 .

  4. Написать процедуру «Показ формы» для формы Form 2 , в которой будет создана таблица Table _ Relax . Таблица Table _ Relax полностью совпадает с таблицей Table _ Work (отличается только имя таблицы). Далее приведен код для создания таблицы:
with Form2.Table2 do

Active:=false; //Требуется закрыть набор данных

DatabaseName:="Student" ;// Псевдоним БД

TableName:="Table_Relax.db" ;// Имя таблицы

TableType:=ttParadox; //Тип таблицы

if not Table2.Exists then //Если таблица не существует,

begin // то создаем ее

with FieldDefs do // Доступ к полям будущей таблицы

Clear ;// Очищаем список полей

with AddFieldDef do //определяем первое поле

Name:= "№ п / п "; // Имя поля

DataType:= ftAutoInc ;// Тип поля - счетчик

Required:=True ; // Обязательное заполнение поля

with AddFieldDef do

Name:= "ФИО";

DataType:= ftString ;// Тип поля - строка

Size:= 50; //Для строки необходимо указать размер

Required:=true;

with AddFieldDef do

Name:= "Зарплата";

DataType:= ftFloat;// Тип поля - вещественное число

Required:=false;

with AddFieldDef do

Name:= "Дата рождения";

DataType:= ftDate ;// Тип поля - дата

Required:=false;

with AddFieldDef do

Name:= "Дата приема на работу";

DataType:= ftDate; // Тип поля - дата

Required:=false;

end;
with IndexDefs do //Определение всех индексов будущей

Clear; // Очищаем список индексов

with AddIndexDef do // Определяем первичный индекс-

ключ таблицы

Name:= ""; //первичный индекс для Paradox не имеет

Fields:= "№п/п" ;// Индексируемое поле

Options:= ; //Опция -первичный индекс

with AddIndexDef do // Определяем вторичный индекс

Name:= "indFamily"; //Имя вторичного индекса

Fields:= "ФИО";// Индексируемое поле

Options:= ; //не учитывать регистр

CreateTable; //Создаем таблицу

Open ; // Открываем набор данных

end;
Создавать поля таблицы также можно, используя процедуру .Add(const Name:String; DataType:TFieldType; Size:Integer; Required:Boolean ), например, следующая строка создает поле с именем «маршрут» типа String , размером 30, обязательное заполнение: FieldDefs.Add(" маршрут ",ftString,30,true). Если для данного типа размер не требуется, то ставится 0, например, FieldDefs.Add("Дата",ftDate,0,true) .

Добавлять индексы можно использовав процедуру Add (const Name: String; const Field: String; Option: TIndexOptions). Например, следующая строка добавляет вторичный индекс indFamily по полю «ФИО», параметры индекса – не учитывает регистр букв:

IndexDefs.Add("indFamily,’ФИО",);


  1. Написать обработчик - закрытие формы при нажатии кнопки BitBtn 2 . В данной процедуре следует закрыть оба набора данных – Table 1 и Table 2 , а также форму Form 1.

  2. Сохранить все.

  3. Запустить программу, для чего выбрать пункт меню Run/Run .

  4. Отладить работу программы

Список литературы


  1. Delphi 4. Учебный курс./Фаронов В.В. М.:Ноулидж, 1998.-464 с., ил.

  2. Программирование в Delphi 4./ П. Дарахвелидзе, Е. Марков СПб.:БХВ-Санкт-Петербург, 1999.-864 с.,ил.

  3. Delphi 5./Гофман В.Э, Хомоненко А.Д. СПб.:БХВ-Санкт-Петербург, 1999.-800 с.,ил.

  4. Delphi 6 для профессионалов. / Марко Кэнту – СПб.:Питер,2002.-1088 с.:ил.

страница 1

Минимальные системные требования к аппаратному обеспечению:

Компьютер с процессором Intel 486 и выше или совместимый.

4 Мб свободного пространства на жестком диске.

Видеоадаптер SVGA

Минимальные требования к внешним устройствам:

Монитор SVGA

Постановка задачи

Программа должна выполнять следующие функции:

· Обеспечивать удобный ввод и вывод информации о врачах и пациентах

· Представлять требуемые данные в виде отчетов для последующей распечатки.

2. Таблицы базы данных

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

В данном случае база данных строится для предметной области «Медицинский диагностический центр». В процессе изучения данной предметной области были определены следующие объекты: врачи, пациенты, препараты, заболевания, процедуры. Для каждого объекта были созданы таблицы.

В Access используются три способа создания таблиц: путем ввода данных (by entering data), с помощью Конструктора таблиц (in Design view) и с помощью Мастера создания таблиц (by using wizard). Для каждого из этих способов существует специальный ярлык новых объектов в списке таблиц. Если вы создали новый файл базы данных, то, кроме этих ярлыков, в списке таблиц больше ничего нет.

Создание таблицы путем ввода данных

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

Рисунок 1. Создание таблицы путем ввода данных

Для этого необходимо:

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

Выделить в списке таблиц ярлык Создание таблицы путем ввода данных (Create table by entering data) и дважды щелкнуть по нему левой кнопкой мыши. Появится пустая таблица со стандартными названиями столбцов: Поле1 (Field 1), Поле2 (Field2) и т. д. По умолчанию для создания таблицы предоставляется десять полей.

В поля этой таблицы нужно ввести требуемые данные. Тип данных в одном поле (столбце) во всех записях должен быть одинаковым.

Можно ввести свои собственные заголовки столбцов, для чего щелкнуть правой кнопкой мыши по заголовку столбца и выберите из контекстного меню команду Переименовать столбец (Rename Column). После этого стандартное назван-ие столбца подсвечивается, и вы можете вводить свое название.

По окончании ввода данных нажать кнопку Закрыть (в верхнем правом углу окна таблицы).

В окне Сохранение (Save As) в поле Имя таблицы (Table Name) ввести имя новой таблицы и нажать кнопку ОК.


Рисунок 2. Диалоговое окно Сохранение

Microsoft Access выдаст сообщение Ключевые поля не заданы (There is no primary key defined) и вопрос Создать ключевое поле сейчас? (Do you want to create a primary key now?). Нажать кнопку Нет (No), если одно или несколько полей в таблице могут однозначно идентифицировать записи в таблице и служить первичным ключом, или кнопку Да (Yes), и тогда Access создаст дополнительное поле, которое сделает ключевым. К определению ключевого поля таблицы мы еще вернемся в разд."Определение ключевых полей"данной главы.

В списке таблиц появится новая таблица, которая будет содержать введенные данные. Таблица при этом создается автоматически. Поля ее будут иметь либо стандартные названия, либо те, которые вы ввели, а их типы будут определяться по введенным данным. В случае, если в один столбец были введены данные разных типов, например числа, даты и текст, тип поля определяется как Текстовый (Text).

Ввод данных в таблицу Access мало чем отличается от ввода в таблицу Excel. Для перехода между полями вы можете использовать клавишу <Таb>. Данные, введенные в текущую строку, сохраняются при переходе к следующей строке. Более подробно режим ввода и изменения данных в режиме таблицы описан в разд. "Ввод и проверка данных" данной главы.

Ниже приведена структура и описаны типы данных, используемых в таблицах БД «Медицинский диагностический центр».

Таблица «Врачи» содержит сведения о врачах и имеет следующий вид (эта, как и все последующие, таблицы представлены в виде конструктора таблиц):

Рисунок 3 – Таблица «Врач»

Таблица «Заболевания» содержит сведения о заболеваниях, которыми болеют пациенты, и имеет следующий вид:


Рисунок 4 – Таблица «Заболевания»

Таблица «Личные данные о пациенте» содержит сведения о названии дисциплины и имеет следующий вид:

Рисунок 5 – Таблица «Личные данные о пациенте»

Таблица «Операция» содержит сведения о операции. Она имеет следующий вид:

Рисунок 6 – Таблица «Операция»

Таблица «Отделения» содержит сведения о отделениях центра. Она имеет следующий вид:

Рисунок 7 – Таблица «Отделения»

Таблица «Палата» содержит сведения о палатах диагностического центра. Таблица имеет следующий вид:


Рисунок 8 – Таблица «Палата»

3. Схема данных базы данных

диагностика информация аппарат

Связывание таблиц на схеме данных

Для того чтобы было удобно просматривать, создавать, удалять и модифицировать связи между таблицами, в Microsoft Access используется схема данных (Relationships) .

Рисунок 9. Пример схемы данных

Чтобы открыть схему данных, необходимо выполнить команду Сервис, Схема данных (Tools, Relationships). По умолчанию схема будет содержать все таблицы со связями. Поэтому сюда будет включена, например, наша новая таблица "Список рассылки оповещений", которая была связана с таблицей "Клиенты" (Customers) при помощи Мастера подстановок (см. разд. "Использование Мастера подстановок" выше в данной главе).

Чтобы убрать какую-либо таблицу из схемы данных, необходимо щелкнуть правой кнопкой мыши на любом месте этой таблицы и из контекстного меню выбрать команду Скрыть таблицу (Hide table). Например, на рис. таблица "Список рассылки оповещений" скрыта.

Чтобы вновь добавить в эту схему свернутую таблицу ("Список рассылки оповещений") или таблицу, у которой связи еще не установлены, необходимо:

Щелкнуть правой кнопкой мыши на свободном пространстве схемы данных и из контекстного меню выбрать команду Добавить таблицу (Show table).

В диалоговом окне Добавление таблицы (Show table) раскрыть вкладку Таблицы (Tables), выбрать из списка таблицу "Список рассылки оповещений", и нажать кнопку Добавить (Add) .

Рисунок 10. Диалоговое окно Добавление таблицы

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

Рисунок 11 – Схема данных БД «Медицинский диагностический центр»

4. Формы базы данных

Access предоставляет возможность вводить данные как непосредственно в таблицу, так и с помощью форм. Форма в БД - это структурированное окно, которое можно представить так, чтобы оно повторяло форму бланка. Формы создаются из набора отдельных элементов управления.

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

Форма предоставляет возможности для:

ввода и просмотра информации базы данных

изменения данных

создания сообщений

Способы создания форм:

Конструктор форм (предназначен для создания формы любой сложности)

Мастер форм (позволяет создавать формы различные как по стилю, так и по содержанию)

Автоформа: в столбец (многостраничная – поля для записи выводятся в один столбец, в форме одновременно отображаются данные для одной записи)

Автоформа: ленточная (все поля записи выводятся в одну строку, в форме отображаются все записи)

Автоформа: табличная (отображение записей осуществляется в режиме таблица)

Автоформа: сводная таблица

Автоформа: сводная диаграмма

Диаграмма (создается форма с диаграммой, построенной Microsoft Graph)

Сводная таблица (создается форма Access, отображаемая в режиме сводной таблицы Excel)

Алгоритм создания форм следующий:

Открыть окно БД

В окне БД выбрать вкладку Формы

Щелкнуть на пиктограмме Создать, расположенной на панели инструментов окна БД

В появившемся диалоговом окне «Новая форма» Выбрать способ создания формы и источник данных

Щелкнуть на кнопке ОК

Вызвать Мастер форм можно несколькими способами. Один из них – выбрать Мастер форм в окне диалога Новая форма и щелкнуть на кнопке ОК. Откроется окно диалога Создание форм, в котором необходимо отвечать на вопросы каждого текущего экрана Мастера и щелкать на кнопке Далее.

В первом окне необходимо выбрать поля из источника данных (таблиц или запросов). Для этого надо открыть список Таблицы и запросы, щелкнув на кнопку, справа. Затем доступные поля требуется перевести в Выбранные поля, выделив их и щелкнув на кнопку >>.

Например, выберем источник – таблицу Сотрудники и все ее поля, а затем необходимо щелкнуть на кнопке Далее.

В этом окне надо выбрать внешний вид формы, например в один столбец и щелкнуть Далее.

После выбора стиля формы (официальный), требуется перейти в последнее окно, щелкнув на кнопке Далее. В последнем окне Мастера требуется ввести имя формы и указать дальнейшие действия: Открыть форму для просмотра и ввода данных; Изменить макет формы.

При открытии базы данных «Медицинский диагностический центр» открывается форма «Главная форма». Открытие этой формы одновременно с БД осуществляется путем помещения имени формы в строку «Форма» меню Сервис/Параметры запуска. Данная форма является панелью управления приложением. Ее кнопки обеспечивают вызов других кнопочных форм, а также отдельных объектов (отчетов, форм и т.д.). Данная форма была создана с помощью имеющегося в Access средства автоматизированной разработки форм по управлению приложением, называемого диспетчером кнопочных форм. Форма представлена ниже.

Простые запросы.

Запрос (query)- это формирование условий выборки информации из БД. Запрос может относиться к одной или многим связанным таблицам. Результатом запроса является результирующий набор записей (dynaset), который внешне выглядит как таблица. Эта виртуальная таблица может рассматриваться как таблица БД (добавление, удаление, обновление, включение в новые запросы).

Типы запросов.

1. Запрос на выборку . Извлекаем данные из одной или нескольких таблиц и результаты отражаем в объекте «Запрос» в режиме таблицы, в котором допускается извлечение записей. Кроме этого, используется для группировки записей, вычисления сумм значений, количества записей и прочих итоговых значений.

2. Запрос с параметрами . Это запрос, запуск которого вызывает появление диалогового окна для ввода некоторого условия отбора записей или значения для вставки в поле. Может открыться несколько диалоговых окон. Например, можно задать диапазон дат. Это удобно для создания форм и отчетов. При этом форма базируется не на таблице, а на запросе.

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

4. SQL . Запрос, создаваемый прямо на языке SQL (StructuredQueryLanguage)- стандартный язык структурированных запросов аппаратно и программно независимый. Любой запрос превращается в SQL (и его можно увидеть).

5. Запрос на изменения . Это запрос, который за одну операцию (его выполнения) вносит изменения во многие записи. Существует 4 типа запроса на изменение: на создание таблицы; на удаление записей; на добавление и на обновление.

Создание простого запроса.

Для создания запроса нужно определить следующее:

Таблицы и поля в них, которые будут участвовать в запросе;

Критерии отбора данных в dynaset;

Какие поля показывать на экране.

Запросы из нашей БД:


Рисунок 18 Запрос на выборку «Заболевание»

Для создания Автоотчета необходимо выполнить следующие действия:

В окне базы данных щелкнуть на вкладке Отчеты и затем щелкнуть на кнопке Создать. Появится диалоговое окно Новый отчет.

Выделить в списке пункт Автоотчет: в столбец или Автоотчет: ленточный.

В поле источника данных щелкнуть на стрелке и выбрать в качестве источника данных таблицу или запрос.

Щелкнуть на кнопке ОК.

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

Рисунок 20 Отчет «Врачи»


Во время работы над КР получены основные навыки для проведения этапов проектирования БД, выбрана СУБД создания и ведения БД ИС “Медицинский диагностический центр”.

Список литературы

1. Байгарова Н.С. Организация управления базами визуальных данных // Н.С. Байгарова, Ю.А. Бухштаб, А.А. Воробьев, А.А. Горный. - М., 2008. - 21 с.

2. Дейт К. Дж. Введение в системы баз данных. - 6-е изд. - М., СПб.,Киев, Изд. дом Вильяме, 2008, - 245с.

3. Золотова С.И. Практикум по Aссеss: Подгот. курс, предваряющий более глубокое изучение технологии баз данных // С.И. Золотова. - М.: Финансы и статистика, 2009. - 141 с.

4. Когаловский М.Р. Энциклопедия технологий баз данных: Эволюция технологий. Технологии и стандарты. Инфраструктура. Терминология // М.Р. Когаловский. - М.: Финансы и статистика, 2007. - 798 с.

Цель работы:

Уметь создавать базы данных из одной или нескольких таблиц;

Уметь устанавливать связи между таблицами;

Уметь заполнять таблицы данными.

Краткие теоретические сведения:

СУБД Access является реляционной базой данных. Она содержит в одном файле все основные объекты: таблицы, формы, запросы, отчёты, макросы и модули.

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

Для создания связей между таблицами необходимо выполнить команду Работа с базами данных – Схема данных.

Задание 1. Создание таблицы с помощью Шаблонов таблиц.

  1. Запустить Microsoft Access: Пуск – Все программы – Microsoft Office – Access 2007.
  2. В появившемся окне выбрать – Новая база данных.

  1. В окне базы данных выбрать вкладку Создание и щёлкнуть по кнопке Шаблоны таблиц - Контакты .

  1. Перед вами появится таблица с готовым списком полей. Ее нужно будет изменить, предварительно сохранив под именем Адреса. Для этого:
    1. По заголовку таблицы нажать правой клавишей мыши и выбрать пункт Сохранить

или на панели быстрого запуска нажать на пиктограмму ;

    1. В появившемся окне ввести имя таблицы – Адрес и нажать кнопку ОК.

  1. Перейти в режим Конструктор: контекстное меню – Конструктор или Главная – Режим – Конструктор

  1. Выбрать следующие поля: Фамилия, Имя, Адрес, Домашний телефон, Сотовый телефон. Остальные поля, не соответствующие данным наименованиям, необходимо удалить из таблицы. Для этого вызвать контекстное меню и выбрать пункт Удалить строки.

  1. Сохранить изменения и перейти в Режим таблицы: Главная – Режим таблицы .
  2. Введите данные в таблицу не менее 10 записей.

Задание 2. Создание базы данных в режиме Конструктора.

1. Создать БД «Обучение » в папке со своим номером группы.

2. В данной базе будет содержаться четыре таблицы, созданные с помощью Конструктора таблиц, вкладка Создание :

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


Таблица, открытая в режиме конструктора.

Свойства таблицы

Свойства поля

· Таблица «Группа» имеет следующие поля:

o Группа (тип Текстовый) – ключевое (через контекстное меню )

o Количество студентов (тип Числовой).

· Таблица «Предметы» имеет следующие поля:

o Предмет (тип Текстовый) - ключевое,

o Преподаватель (тип Текстовый)

o Кабинет (тип Числовой).

· Таблица «Студенты» имеет следующие поля:

o Номер_студента (тип Счетчик)- ключевое,

o Фамилия (тип Текстовый),

o Имя (тип Текстовый),

o Группа (Тип Мастер подстановок, указать, что значения будут использованы из таблиц или запросов, на следующем шаге выбрать таблицу Группа - поле Группа, сортировка не нужна).

· Таблица «Успеваемость» имеет следующие поля:

o Фамилии (Тип Мастер подстановок, с помощью Мастера подстановок указать, что этот столбец будет использовать значения из таблицы Студенты поля Фамилия)- ключевое,

o Предмет (Тип Мастер подстановок, с помощью Мастера подстановок указать, что этот столбец будет использовать значения из таблицы Предметы поля Предмет) –ключевое

Примечание! Для создания составного ключа необходимо выделить все поля при помощи клавиши CTRL и выбрать пункт Ключевое поле в ленте меню

o Оценка (тип Числовой, Устанавливается в свойствах поля: Значение по умолчанию: 2 , Условие на значение: >=2 and <=5 ).

3. На Схеме данных (вкладка Работа с базами данным) изменить уже созданные ранее связи между таблицами:выделить связь, вызватьконтекстное меню – изменить связь:

· Группа и Учащиеся :

Главная таблица - Группа

Поля связи: Группа и Группа

- Тип связи: один-ко-многим +сохранение целостности (флажок напротив пункта Обеспечение целостности данных)

(кнопка Объединение…, выбрать первый пункт)

· Учащиеся и Успеваемость :

Главная таблица - Учащиеся

Поля связи: Номер и Фамилии

Тип объединения: только совпадающие

· Предметы и Успеваемость :

Главная таблица - Предметы

Поля связи: Предмет и Предмет

Тип связи: один-ко-многим +сохранение целостности

Тип объединения: только совпадающие

4. Заполнение БД

a) Выбрать вкладку «Таблицы» и используя кнопку «Открыть» в режиме таблицы последовательно заполнить все указанные там таблицы по трем группам с количеством человек не менее 5. Успеваемость по 3 предметам.

b) Расположить их все на экране.

В базе данных можно хранить данные в виде таблиц - тематических списков строк и столбцов. Например, вы можете создать таблицу "Контакты" для хранения имен, адресов и телефонных номеров или таблицу "Товары" для хранения сведений о товарах.

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

Так как другие объекты базы данных в значительной степени зависят от таблиц, всегда начинайте разработку базы данных с создания всех таблиц, а уже затем создавайте другие объекты. Перед созданием таблиц необходимо тщательно проанализировать свои требования и выяснить, какие таблицы нужны. Общие сведения о планировании и разработке базы данных см. в статье Основные сведения о создании баз данных .

В этой статье

Обзор

Таблицы - это объект базы данных, который содержит данные по определенной теме, например сведения о сотрудниках или товарах. Таблица состоит из полей и записей.

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

Каждое поле включает данные об одном аспекте объекта таблицы, например имя или адрес электронной почты. Поля также часто называют столбцами или атрибутами.

Запись состоит из значений полей, таких как Contoso, Ltd. или [email protected] . Значение поля также называют фактом.

3. Значение поля

База данных Access может включать много таблиц, в каждой из которых хранятся данные по отдельным объектам. Каждая таблица может содержать много полей с данными различного типа, включая текст, числа, даты и гиперссылки.

Свойства таблиц и полей

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



Таблица, открытая в Конструкторе.

1. Свойства таблицы

2. Свойства поля

В базе данных Access свойствами таблицы называются атрибуты, определяющие ее внешний вид и работу. Свойства таблицы задаются на странице свойств таблицы в Конструкторе. Например, вы можете задать для таблицы свойство Режим по умолчанию , чтобы указать, как она должна отображаться по умолчанию.

Свойство поля применяется к определенному полю в таблице и определяет его характеристики или определенный аспект поведения. Некоторые свойства поля можно задать в режим таблицы. Вы также можете настраивать любые свойства в Конструкторе с помощью области Свойства поля .

Типы данных

У каждого поля есть тип данных. Тип данных поля определяет данные, которые могут в нем храниться (например, большие объемы текста или вложенные файлы).

Тип данных является свойством поля, однако он отличается от других свойств:

    Тип данных поля задается на бланке таблицы, а не в области Свойства поля .

    Тип данных определяет, какие другие свойства есть у этого поля.

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

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

Примеры автоматического определения типа данных

Ниже показано, как выполняется автоматическое определение типа данных в режиме таблицы.

Вводимые данные

Тип данных для поля, назначаемый Access

http://www.contoso.com

Вы можете использовать любой допустимый префикс протокола IP. Например, являются допустимыми префиксы http://, https:// и mailto:.

Число, длинное целое

Число, длинное целое

Число, double

Число, double

Распознаваемые форматы даты и времени зависят от языкового стандарта.

Дата и время

31 декабря 2016 г.

Дата и время

Дата и время

Дата и время

Дата и время

Распознаваемое обозначение денежной единицы зависит от языкового стандарта.

Денежный

Число, double

Число, double

Число, double

Отношения между таблицами

Хотя в каждой из таблиц хранятся данные по отдельному объекту, в базе данных Access все они обычно связаны между собой. Ниже приведены примеры таблиц в базе данных.

    Таблица клиентов, содержащая сведения о клиентах компании и их адреса.

    Таблица продаваемых товаров, включающая цены и изображения каждого из них.

    Таблица заказов, служащая для отслеживания заказов клиентов.

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

Ключи

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

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

    Внешний ключ. В таблице также может быть один или несколько внешних ключей. Внешний ключ содержит значения, соответствующие значениям первичного ключа другой таблицы. Например, в таблице "Заказы" каждый заказ может включать код клиента, соответствующий определенной записи в таблице "Клиенты". Поле "Код клиента" является внешним ключом таблицы "Заказы".

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

Чтобы связать каждый заказ с клиентом, вы можете добавить в таблицу "Заказы" поле внешнего ключа, соответствующее полю "Код" в таблице "Заказчики", а затем создать связь между этими двумя ключами. При добавлении записи в таблицу "Заказы" можно было бы использовать значение кода клиента из таблицы "Заказчики". При просмотре каких-либо данных о клиенте, сделавшем заказ, связь позволяла бы определить, какие данные из таблицы "Заказчики" соответствуют тем или иным записям в таблице "Заказы".



Связь между таблицами в окне "Схема данных".

1. Первичный ключ, который определяется по значку ключа рядом с именем поля.

2. Внешний ключ (определяется по отсутствию значка ключа)

Преимущества использования связей

Раздельное хранение данных в связанных таблицах обеспечивает указанные ниже преимущества.

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

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

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

Совет: Связи между таблицами необходимо иметь в виду еще на этапе планирования таблиц. С помощью мастера подстановок можно создать поле внешнего ключа, если таблица с соответствующим первичным ключом уже существует. Мастер подстановок помогает создать связь.

Создание новой таблицы.

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

Есть несколько способов создать таблицу: вы можете создать новую базу данных, вставить таблицу в существующую базу данных или импортировать таблицу из другого источника данных, например книги Microsoft Office Excel, документа Microsoft Office Word, текстового файла или другой базы данных, либо связать таблицу с этим источником. Когда вы создаете новую базу данных, в нее автоматически вставляется новая пустая таблица. Затем вы можете ввести в нее данные, чтобы начать определение полей.

В этой статье

Создание таблицы в новой базе данных

    Откройте меню Файл и выберите команду Создать кнопку Microsoft Office и выберите команду Создать .

    В поле Файл введите имя файла новой базы данных.

    Нажмите кнопку Создать .

    Откроется новая база данных, в которой будет создана и открыта в режиме таблицы новая таблица с именем "Таблица1".

Создание таблицы в существующей базе данных

    Откройте меню Файл и выберите команду Открыть . Если вы используете Access 2007, нажмите кнопку Microsoft Office и выберите команду Открыть .

    В диалоговом окне Открытие файла базы данных найдите базу данных, которую вы хотите открыть,и нажмите кнопку Открыть .

    на вкладке Создание в группе Таблицы нажмите кнопку .

    В базу данных будет вставлена новая таблица, которая откроется в режиме таблицы.

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

Чтобы создать таблицу, вы можете импортировать данные из другого файла (например, из листа Excel, списка SharePoint, XML-файла, другой базы данных Access, папки Microsoft Outlook и т. д.) либо связать таблицу с ним.

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

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

Примечание: Данные на листе Excel невозможно изменять с помощью связанной таблицы. Чтобы решить задачу обходным путем, импортируйте исходные данные в базу данных Access, а затем свяжите ее с Excel.

Создание таблицы с помощью импорта внешних данных или связи с ними



Кроме того, вы можете импортировать список SharePoint или связать с ним таблицу, выбрав соответствующую команду на вкладке Создание .

Создание таблицы с использованием сайта SharePoint

Для создания таблицы базы данных можно использовать импортировать список SharePoint или создать связь с ним. Кроме того, вы можете создать новый список SharePoint на основе готового шаблона. В Access доступны такие шаблоны, как "Контакты", "Задачи", "Вопросы" и "События".

    Откройте меню Файл и выберите команду Открыть . Если вы используете Access 2007, нажмите кнопку Microsoft Office и выберите команду Открыть .

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

    На вкладке Создание в группе Таблицы нажмите кнопку Списки SharePoint .

    Выполните одно из указанных ниже действий.

    • Создание списка SharePoint на основе шаблона

      1. Выберите пункт Контакты , Задачи , Вопросы или События .

        В диалоговом окне Создание нового списка

        Укажите имя нового списка и Описание .

      Создание настраиваемого списка

      1. Выберите пункт Другой .

        В диалоговом окне Создание нового списка введите URL-адрес сайта SharePoint, на котором вы хотите создать список.

        Введите имя и описание для нового списка в полях Укажите имя нового списка и Описание .

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

      Импорт данных из существующего списка

      1. Выберите пункт .

        В диалоговом окне Внешние данные введите URL-адрес сайта SharePoint, содержащего данные, которые нужно импортировать.

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

        Установите флажки всех списков SharePoint, которые нужно импортировать.

      Связь с существующим списком

      1. Выберите пункт Существующий список SharePoint .

        В диалоговом окне Внешние данные - сайт SharePoint введите URL-адрес сайта SharePoint, содержащего список, связь с которым нужно создать.

        Выберите пункт Создать связанную таблицу для связи с источником данных и нажмите кнопку Далее .

        Установите флажки всех списков SharePoint, связи с которыми нужно создать.

Настройка первичного ключа таблицы

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

При создании таблицы в режиме таблицы Access автоматически создает первичный ключ с именем "Код" и присваивает ему тип данных "Счетчик".

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

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

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

    Значение данного поля или сочетания полей должно быть уникальным для каждой записи.

    Поле или сочетание полей не должно быть пустым (у них всегда должно быть значение).

    Значения не должны изменяться.

Если данных, подходящих на роль первичного ключа, нет, для этого можно создать новое поле. При создании поля для использования в качестве первичного ключа выберите для него тип "Счетчик" - это обеспечит соответствие трем характеристикам, указанным выше.

Настройка или изменение первичного ключа

Удаление первичного ключа

Примечание: Если попытаться сохранить новую таблицу без первичного ключа, Access предложит создать поле для него. Если нажать кнопку Да , Access создаст поле "Код" с типом данных "Счетчик", в котором будет хранится уникальное значение для каждой записи. Если в таблице уже есть поле с типом "Счетчик", оно будет использовано в качестве первичного ключа. Если нажать кнопку Нет , Access не добавит новое поле и не задаст первичный ключ.

Настройка свойств таблицы

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

Вставка и добавление поля в таблицу и создание нового поля

Все элементы данных, которые необходимо отслеживать, хранятся в отдельных полях. Например, в таблице контактов можно создать поля "Имя", "Фамилия", "Телефон" и "Адрес", а в таблице товаров - поля "Название товара", "Код товара" и "Цена".

Прежде чем создавать поля, разделите данные на минимальные полезные элементы. Потом вам будет намного проще объединить данные, чем разделить их. Например, вместо поля "Полное имя" лучше создать отдельные поля "Имя" и "Фамилия". Благодаря этому вам будет проще искать и сортировать данные по имени, фамилии или их сочетанию. Если вы собираетесь создавать отчет, выполнять сортировку, поиск или вычисления по элементу данных, выделите его в отдельное поле.

В этой статье

Добавление поля путем ввода данных

Чтобы при создании новой или открытии существующей таблицы в режиме таблицы добавить в нее поле, введите данные в столбец таблицы Добавить поле .

1. Введите данные в столбец Добавить поле .

    Чтобы создать или открыть таблицу в режиме таблицы, в области навигации щелкните нужную таблицу правой кнопкой мыши и затем Режим таблицы .

    Введите имя создаваемого поля в столбец Добавить поле .

    Используйте описательное имя, помогающее идентифицировать поле.

    Введите данные в новое поле.

Добавление поля с помощью шаблона

Иногда проще выбрать поле из готового списка, чем создавать его вручную. Чтобы выбрать поле из списка шаблонов, воспользуйтесь списком Другие поля в Access 2010, 2013 или 2016, либо областью задач Шаблоны полей в Access 2007. Шаблон поля – это заданный набор характеристик и свойств, описывающих его. Определение шаблона поля включает имя поля, тип данных, значение свойства Формат и ряд других свойств.

Если вы используете Access 2010, 2013 или 2016 выполните действия ниже.



Если вы используете Access 2007, выполните действия ниже.

Задание свойств полей

Для поля можно задать свойства, определяющие его вид и поведение.

Например, с помощью свойств поля можно:

    изменить вид данных в поле;

    предотвратить ввод неправильных данных в поле;

    задать для поля значение по умолчанию;

    ускорить поиск и сортировку по полю.

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

Задание свойств поля в режиме таблицы

В режиме таблицы можно переименовать поле, изменить его тип, свойство Формат и некоторые другие свойства.

Открытие таблицы в режиме таблицы

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

    В контекстном меню выберите пункт Режим таблицы .

Переименование поля

Когда вы добавляете поле путем ввода данных в режиме таблицы, Access автоматически присваивает ему универсальное имя. Первому полю назначается имя "Поле1", второму - "Поле2" и т. д. По умолчанию имя поля используется в качестве его метки везде, где поле отображается (например, в заголовке столбца таблицы). Если вы присвоите полям описательные имена, вам будет легче просматривать и изменять записи.

    Щелкните правой кнопкой мыши заголовок поля, которое требуется переименовать (например, "Поле1").

    В контекстном меню выберите пункт Переименовать поле . Если вы используете Access 2007, в контекстном меню выберите пункт Переименовать столбец .

    Введите новое имя в заголовок поля.

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

Изменение типа данных поля

Когда вы создаете поле путем ввода данных в режиме таблицы, приложение Access анализирует их, чтобы определить тип данных для поля. Например, если ввести значение 01.01.2017 , Access распознает его как дату и назначит полю тип "Дата и время". Если Access не может точно определить тип данных, по умолчанию полю назначается текстовый тип. ("Краткий текст", если вы используете Access 2016).

Тип данных поля определяет, какие еще свойства вы можете для него задать. Например, свойство Только добавление можно задать только для поля с типом данных "Гиперссылка" или "Поле МЕМО" (или "Длинный текст" в Access 2016).

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

Изменение формата поля

Кроме определения типа данных нового поля Access может задать для него значение свойства Формат , зависящее от введенных данных. Например, если ввести значение 10:50, Access выберет тип данных "Дата и время" и присвоит свойству Формат значение "Средний формат времени". Чтобы вручную изменить значение свойства Формат , сделайте следующее.

    На ленте откройте вкладку Поля . Если вы используете Access 2007, откройте вкладку Режим таблицы .

    В группе Форматирование в поле Формат введите нужный формат. Если вы используете Access 2007, в группе Форматирование и тип данных в списке Формат выберите нужный.

    Примечание: Для полей некоторых типов (например, текстовых) список Формат может быть недоступен.

Задание других свойств поля

    В режиме таблицы щелкните поле, для которого нужно задать свойство.

    Если вы используете Access 2010, 2013 или 2016, на вкладке Поля в группах Свойства , Форматирование или Проверка поля выберите нужные свойства.

    Если вы используете Access 2007, на вкладке Режим таблицы в группе Форматирование и тип данных выберите нужные свойства.

Задание свойств поля в Конструкторе

При работе с таблицей в Конструкторе можно настраивать любые свойства полей. Тип данных поля задается на бланке таблицы, а другие свойства - в области Свойства поля .

Открытие таблицы в Конструкторе

    В области навигации щелкните таблицу правой кнопкой мыши.

    В контекстном меню выберите пункт Конструктор .

Изменение типа данных поля

Задание других свойств поля

Сохранение таблицы

После создания или изменения таблицы следует сохранить ее структуру. При первом сохранении таблице необходимо присвоить имя, описывающее содержащиеся в ней данные. Можно использовать до 64 знаков (букв или цифр), включая пробелы. Например, вы можете назвать таблицу "Клиенты", "Перечень запасных частей" или "Товары".

Совет: Договоритесь о том, по какому принципу будете называть объекты в базе данных, и следуйте этим правилам.

    Если вы используете Access 2010, 2013 или 2016, в меню Файл выберите команду Сохранить или нажмите клавиши CTRL+S.

    Если вы используете Access 2007, нажмите кнопку Microsoft Office и выберите команду Сохранить или нажмите клавиши CTRL+S.

    Если вы сохраняете таблицу в первый раз, введите ее имя и нажмите кнопку ОК .

Таблица – основной объект для хранения информации в реляционной базе данных . Она состоит из содержащих данные строк и столбцов , занимает в базе данных физическое пространство и может быть постоянной или временной.

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

Приступая к созданию таблицы , необходимо иметь ответы на ряд вопросов:

  • Как будет называться таблица ?
  • Как будут называться столбцы (поля) таблицы ?
  • Какие типы данных будут закреплены за каждым столбцом ?
  • Какой размер памяти должен быть выделен для хранения каждого столбца ?
  • Какие столбцы таблицы требуют обязательного ввода?
  • Из каких столбцов будет состоять первичный ключ?

Базовый синтаксис оператора создания таблицы имеет следующий вид:

<определение_таблицы> ::= CREATE TABLE имя_таблицы (имя_столбца тип_данных [,...n])

Приведенный стандарт совпадает с реализацией оператора создания таблицы в среде MS SQL Server.

Главное в команде создания таблицы – определение имени таблицы и описание набора имен полей, которые указываются в соответствующем порядке. Кроме того, этой командой оговариваются типы данных и размеры полей таблицы .

Ключевое слово NULL используется для указания того, что в данном столбце могут содержаться значения NULL . Значение NULL отличается от пробела или нуля – к нему прибегают, когда необходимо указать, что данные недоступны, опущены или недопустимы. Если указано ключевое слово NOT NULL , то будут отклонены любые попытки поместить значение NULL в данный столбец . Если указан параметр NULL , помещение значений NULL в столбец разрешено. По умолчанию стандарт SQL предполагает наличие ключевого слова NULL .

Мы использовали упрощенную версию оператора CREATE TABLE стандарта SQL. Его полная версия приводится при обсуждении вопросов обеспечения целостности данных.

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

CREATE TABLE Товар (Название VARCHAR(50) NOT NULL, Цена MONEY NOT NULL, Тип VARCHAR(50) NOT NULL, Сорт VARCHAR(50), ГородТовара VARCHAR(50)) Пример 3.2. Создание таблицы для хранения данных о товарах, поступающих в продажу в некоторой торговой фирме.

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

CREATE TABLE Клиент (Фирма VARCHAR(50) NOT NULL, Фамилия VARCHAR(50) NOT NULL, Имя VARCHAR(50) NOT NULL, Отчество VARCHAR(50), ГородКлиента VARCHAR(50), Телефон CHAR(10) NOT NULL) Пример 3.3. Создание таблицы для сохранения сведений о постоянных клиентах.

Изменение таблицы

Структура существующей таблицы может быть модифицирована с помощью команды ALTER TABLE , упрощенный синтаксис которой представлен ниже:

ALTER TABLE имя_таблицы { имя_столбца тип_данных [ NULL | NOT NULL ]] | имя_столбца]}

В среде MS SQL Server упрощенный синтаксис команды модификации таблицы имеет вид:

ALTER TABLE имя_таблицы {)] [ NULL | NOT NULL ]}] | ADD { [имя_столбца тип_данных] | имя_столбца AS выражение } [,...n] | DROP {COLUMN имя_столбца}[,...n] }

Команда позволяет добавлять и удалять столбцы , изменять их определения.

Одно из основных правил при добавлении столбцов в существующую таблицу гласит: когда в таблице уже содержатся данные, добавляемый столбец не может быть определен с атрибутом NOT NULL . Этот атрибут означает, что для каждой строки данных соответствующий столбец должен содержать некоторое значение, поэтому добавление столбца с атрибутом NOT NULL приводит к появлению противоречия – уже существующие строки данных таблицы не будут иметь в новом столбце ненулевых значений.

Тем не менее существует способ добавления обязательных полей в существующую таблицу . Для этого необходимо:

  • добавить в таблицу новый столбец , определив его с атрибутом NULL (т.е. столбец не обязан содержать каких-либо значений);
  • ввести в новый