|
Программирование >> Проектирование интерфейса пользователя
Новый термин Схема - обобщенный термин, применяемый для обозначения различных совокупностей объектов, из которых состоит база данных - таблиц, полей, индексов, запросов, хранимых процедур и т.п. Представим себе вымышленную компанию, именуемую которая занимается разработкой специализированного программного обеспечения. База данных, содержащая сведения о структуре и персонале eSoft, состоит из трех таблиц - DEPARTMENT, EMPLOYEE и ROLES. Схема базы данных компании приведена в табл. 20.1, 20.2 и 20.3. Таблица .1. Структура таблицы DEPARTMENT, содержащей данные о подразделениях компании Название поля Размер Индекс DEPARTMENT.ID NAME AutoNumber Text Первичный ключ Таблица 20.2. Структура таблицы ROLES, в которой находится информация о номенклатуре должностей компании Название поля Размер Индекс ROLE.ID NAME DESCRIPTION AutoNumber Text Text Первичный ключ 20 50 Таблица 20.3. Структура таблицы EMPLOYEE, содержащей данные о служащих компании
Основную роль в схеме играет таблица EMPLOYEE. Между таблицами EMPLOYEE и DEPARTMENT установлена связь типа -одному, т.е. для каждой записи DEPARTMENT (подразделения компании) может существовать несколько записей EMPLOYEE (служащих). Аналогичная связь (рис. 20.2.) задана и между таблицами EMPLOYEE и ROLES: каждый служащий занимает определенную должность, причем (естественно) допускается ситуация, когда у нескольких служащих должности совпадают. FIRST NAME LAST.NANE SSN EXTENSION ЯСХс.Ю NAME DESCRIPTION PucO. 2. Связи между таблицами базы данных eSoft Чтобы наш последующий разговор приобрел более предметные очертания, вам необходимо создать базу данных Access (далее мы будем называть ее eSoft) и построить в ней таблицы в соответствии со схемой, приведенной выше. Затем вы узнаете, как с помощью мастера создать страницу доступа к данным. Создание Web-страниц с помощью мастеров Решение проблем, легко поддающихся формализации, может быть автоматизировано - этот тезис сомнений не вызывает. Если в такую категорию попадают задачи построения форм, почему такой вывод нельзя сделать о Web-страницах простой структуры? По мере развития инструментальных средств меняются и наши взгляды на то, решаема ли определенная задача, и если да, то каким образом. Как и во многих других случаях, при построении страниц доступа к данным на помощь приходят вездесущие мастера Access 2002. Чтобы ознакомиться с их перечнем, откройте недавно построенную базу данных eSoft, выберите в списке Объекты (Objects) элемент Страницы (Pages) и щелкните на кнопке Создать (New) панели инструментов. Откроется диалоговое окно Новая страница доступа к данным (New Data Access Page), в котором представлены следующие режимы работы: Конструктор (Design View), Существующая Web-страница (Existing Web page), Мастер страниц (Page Wizard) и Автостраница: в столбец (Autopage: Columnar) (рис. 20.3). В режиме Конструктор открывается чистая страница. Теперь всю работу придется выполнить самостоятельно - это гораздо сложнее, нежели отредактировать страницу, сформированную мастером. При выборе опции Существующая Web-страница открывается диалоговое окно Поиск Web-страницы (Locare Web Page), позволяющее найти и открыть одну из ранее созданных страниц. Имейте в виду, что Web-страницы сохраняются вне базы данных - Access запоминает лишь ссылки на их физические адреса. Режим Автостраница: в столбец требует от вас минимальных усилий, но платой за это будут ограниченные возможности дальнейшей настройки параметров полученной страницы. Для его применения достаточно выбрать источник данных (таблицу или запрос) и щелкнуть на кнопке ОК. Режим Мастер страниц предлагает компромиссный вариант действий, обеспечивающий простоту использования и разнообразие возможностей (в дальнейшем внимание будет сконцентрировано именно на нем). j двтшатическйе cosaa**te crpawftbi доступа к WSsiM с поли, . -: распояозк *№ 1и s один I столбец. Конструктор усщая веб-стра> 1ца -Выбсрит-ев [ источгтаданныхгаелчцу ЯШ запрос Рис. 20.3. Диалоговое окно Новая страница доступа к данным предлагает на выбор несколько инструментальных средств Чтобы продемонстрировать способы практического применения мастера страниц, мы построим запрос, объединяющий информацию из всех таблиц базы данных eSoft - EMPLOYEE, DEPARTMENT И ROLES. Выбор данных из нескольких таблиц Запрос, который мы создадим, должен связать все три таблицы - EMPLOYEE, DEPARTMENT и ROLES, чтобы вместо скупых идентификаторов (содержимого полей DEPARTMENTID и ROLEID) пользователи видели наименования должности каждого сотрудника и подразделения компании, в котором тот Ключевые поля, DEPARTMENTJD E ID OTEE ID, которые обеспечивают уникальность записей и используются для логического объединения таблиц, обычно не следует отображать на формах и Web-страницах, кроме тех случаев, когда информация предназначается для администраторов баз данных. Создайте запрос, текст которого приведен ниже, в листинге 20.2, и сохраните его ПОД именем QUERY EMPLOYEE PHONELIST BY DEPARTMENT. Листинг 20.2. Пример запроса, объединяющего данные из нескольких таблиц 1: SELECT DEPARTMENT.DEPARTMENT id, DEPARTMENT.NAME, 2: EMPLOYEE.FIRST NAME, EMPLOYEE.LAST NAME, 3: EMPLOYEE.PHONE NUMBER, EMPLOYEE.EXTENSION,ROLE.NAME 4: FROM ROLE RIGHT JOIN (DEPARTMENT RIGHT JOIN EMPLOYEE ON 5: DEPARTMENT.DEPARTMENT id = EMPLOYEE.DEPARTMENT ID) ON 6: ROLE.ROLE id = EMPLOYEE.ROLE id); j Запрос возвратит данные следующих полей таблиц: DEPARTMENT. DEPARTMENTID, DEPARTMENT.NAME, EMPLOYEE.FIRST NAME, EMPLOYEE. LAST NAME, EMPLOYEE.PHONE NUMBER, EMPLOYEE.EXTENSION И ROLE.NAME. Поскольку в команде SELECT используются конструкции объединения таблиц (операторы JOIN), запрос допускает только чтение данн1х - это, собственно, то, что нам нужно.
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |