Теория и практика построения баз данных (1088289), страница 166
Текст из файла (страница 166)
Раскройте группу Соп1асб После этого экран должен выглядеть так, как показано на рис. Б.22. Рио. Б.21. исходный еид представлений Ргососге Ропп и Ргососгв ывт Теперь рассмотрим представление Ргодцстз Рогпь Снимите часть галочек так, чтобы в представлении остались только элементы Ргобцс(10, Ргодцс1йэгпе, ИпйРпсе (цена), Иптбйп5(оск (количество товара в наличии) и Сощрапуйагпе (в объ- екте 5цррйегз). Экран после этих действий должен выглядеть так, как показано на рис. Б.23. Выполните аналогичную процедуру с представлениями объекта 5цррйегз. Добавьте или удалите элементы так, как считаете нужным. Один пз возможных наборов представлений этого объекта изображен на рпс. Б.24. Теперь все готово к публикации приложения в %еЬ.
ги ' евг сеене ермо ' иге(еи' леь сато~ е и гвг' ~е~в1: ееггчгг':::я::еез, Рис. Б.22. Изменения в структуре представления Ргоооств Ывт Для запуска мастера УУеЬ РцЬИзЫпп Утттагд вьгберпте в меню команду Рт(е е РцЬИзЬ УУеЬ АррИсэбоп (Файл е Опубликовать приложение в ЮеЬ). Сохраните модель, когда программа предложит вам это сделать, и щелкните на кнопке йех1 (Далее). В следующем окне мастера появится список представлений, предназначенных для публикации. Мы хотим опубликовать все указанные представления, Публикация базы данных в УУеЬ 781 85ЩПЕ 'е ! . 8кггии гсаг«г Рис. Б.27. Запрос из формы 780 Приложение Б. Создание семантических объектных моделей ничего не вводите и нажмите кнопку алтай (Готово). После этого ТаЫедезтйпег сгенерирует АБР-страницы. В заключение программа спросит, хотите ли вы запустить мастер М1сгозогс ууеЬ РиЫгаЫпй Ггугзаггт.
В качестве ответа выберите Мо (Нет). цап 6Й раов Го саг а д«Гмя савг пасв алгГра/аигкгс Гог Вта . йапйагвз ас«зсаьсп ьа оаа аггел,$щдпв опь/вгс о«гаьаае Бусо кгвлг ем рапаагас асргкгхгОв)о гав сгг йг г»е сагаьате асгсцаггс»гу. усс глист аьс ае!сс) ьтв сьаскьсх Рис. Б.26. Окно установки имени пользователя и пароля по умолчанию Чтобы запустить созданное приложение, загрузите в браузер страницу с именем деРаигбазр из каталога, выбранного вами для размещения АКР-страниц.
Например, если вы выбрали каталог гпуигеЬз/аррз/, то в поле адреса браузера следует ввести строку птуогеЬв/арра/деРапгбазр и нажать «5пЬег>. Возможно, вам потребуется несколько модифицировать эту строку, в зависимости от настроек вашего ггеЬ-сервера, После этого браузер должен соедннигься с туеЬ-серверокг и вывести окно аутентификации. Если вы работаете с 5Яг Бегчег, введите имя пользователя за без пароля пли какое-либо другое действительное имя пользователя и щелкни~с на кнопке Ьоотп (Войти в систему). Если вы используете Ассезз, ничего не вводите, а просто нажлгите ~опгп.
Теперь с помощью созданных АБР-стршшц вы можете работать с базой данных. Выберите из раскрывающегося списка страницу Ргодпссв и нажмите кнопку Оиепг (Запрос). Окно браузера примет впд, аналогичный изображенному на рис. Б.26. Поскольку ТаЫедезгйпег поддерживает запрос из формы, в поля запроса можно вводить символы поиска.
На рис. Б.2? пользователь ввел строку «>0» в поле 0птгзгп5Ьос1 и строку «Меиг*» в поле Соптрапуйаше. Следовательно, пользователь ищет продукты, количество которых на складе больше нуля, а имя поставщика начинается с символов «йеог». При нажатии кнопки 5еагсЬ (Поиск) на экран выводится представление РгодисЬз Нзт, показанное на рпс. Б.26. Обратите внимание, что все показанные в нем продукты поставляются компаниями, чьи названия начинаготся с «Йеиг». Если пользователь щелкнет на названии одного из продуктов, например на первом, сведения об этом продукте будут отображены в представлении РгодпсЬв Роггп. Экземпляр этого представления показан на рис.
Б.29. Генерируемые программой ТаЫег)езгйпег страницы весьма удобны в использовании, и по-настоящему оценить их мощь можно, только создав такое приложение и поработав с ним некоторое время. Кстати, подумайте теперь над тем, что должна сделать программа ТаЫедезгйпег, чтобы выполнить приведенный здесь запрос. Фильтр по элемегггу Согпрапуйаше применяется к таблице 5пррйега но представление РгодпсЬз 0зЬ основано на таблице РгодисГа Более того, связь между этими таблицами имеет вид гч:М.
Это означает, что для выполнения запроса программа ТаЫег)еьбйпег должна создать левое внешнее соединение и внутреннее соединение через таблицу пересечений. Упражнения 783 -"К44~Ь|ЫФЯЗЪй '~"-:.;;.,;:-''Бгь': Следующие шаги ваыуи квввсквоггврввсквьь (тыле с 17Л ккк Я го т Упражнения 1 Вэг в 782 Приложение Б. Создание семантических объектных моделей гх Рис. Б.28.
Результаты выполнения запроса, показанного нв рис Б 27 Рис. Б.29. Продукты, показанные в представлении Ргопоств Роге У программы ТаЫедез(йпег, кроме того, что описано здесь, имеется еше множество возможностей и функций. Дальнейшую информацию вы можете найти в справочной документации к программе. Разумно начинать чтение с раздела АррйсаОопэ у Оече1орптеп1 Ргосеэв ОчеМечг (Приложения в Обзор процесса разработки). С помошью ТаЫедеяйпег можно нормализовать данные в базах данных и электронных таблицах, которые еше не нормализованы.
Информацию о нормализации вы найдете в разделе Моппайхайоп Очегч1еиг (Обзор нормализации). Создайте в программе ТаЫег1еяйпег модель данных университета Н1ВЫ(пе, описанную в главе 4 (см. рис. 4.13). На основе этой модели создайте базу данных для Ассеьв или 3О1. Яегчег. Исследуйте получившуюся схему и объясните, как каждая из таблиц связана с моделью.
Измените модель таким образом, чтобы преподаватель мог работать более чем на одной кафедре. Заново сгенерпруйте базу данных и объясните произошедшие изменения. 1. Создайте в программе ТаЫедеядпег модель данных с примером каждого из следующих типов семантических объектов: 1) простой; 2) компознтный; 3) составной; 4) гибридный; 5) архетипуверспя; 6) ассоциативный, Создайте базу данных на основе этой модели и исследуйте получившиеся таблицы. Объясните, какие принципы проектирования использует ТаЫедеяппег и в каких случаях эти принципы отлнчшотся от описанных в главе 7.
2. Откройте в ТаЫедеяйпег иовуто модель и выберите походный набор Кесгшйпй (данные о найме персонала). Исследуйте модель и создайте па ее основе базу данных, Предложите, как можно было бы улучшить эту модель. Измените модель и заново сгенерируйте базу данных. Ооъясните изменения, сделанные в структуре базы данных. 3, Выполтитте упражнение 1. Для каждого из объектов создайте представление, выводяшее список экземпляров объекта (Бвг), и представление, предназначенное для ввода данных (Ропп). С помощью ТаЫег)ез(йпег создайте АВР-страницы для обработки этих представлений. Поместите созданные АКР-страгтицы в каталог, видимый для ПЯ или Регзопа! 'тлгей 3егчег.
Загрузив этн страницы в браузер, создайте с их помошью экземпляры объектов КАФЕДРА, СТУДЕНТ и ПРЕПОДАВАТЕЛЬ. Также с помошью АКР-страниц свяжите между собой несколько объектов. Откройте базу данных и посмот- 784 Приложение Б. Создание семантических объектных моделей рите, какие значения имеют поля внешних ключей. Дайте обоснование этих значений с помощью связей, созланных вами между объектамн. 4.
Установите БЯ(- Бегуег, если вы еше не сделали этого. Следуя примеру, приведенному в этом приложении, создайте системный источник ланных ОВВС для базы данных рнЬь Необходимо будет выбрать драйвер 5(21 Бегчег н пройти процесс идентификации, инициируемый СУБД. Выберите локальный ((оса!) сервер, нмя пользователя та (без пароля) н базу данных риЬК Выполните частичное восстановление схемы базы данных по таблицам риЬВтйегз (издательства), ацтйогз (авторы), Ь!Вез (названия) и с!ВеаиФог (статус автора), создайте на основе этой схемы базу данных для Ассеьв (используйте БО(.
Бегчег, если у вас нет Лссеьх) и скопируйте в нее имеюнсиеся данные. Дайте новой базе данных имя роЬ52. Измените модель риЬ52 таким образом, чтобы книга с одним и тем же названием могла издаваться несколькими издательствами. Заново сгенерпруйте базу данных и исследуйте произошедшие изменения. Откройте таблппу ВЬ1е в базе данных риЬ5 и выведите ее содержимое.
Откройте таблицу Вйе в базе данных рпЬ52 и выведите ее содержимое. Откройте также таблицу пересечения в базе данных риЬ52 и выведите ее содержимое. Объясните различия между этими таблицами. 5. Создайте базу данных риЬ52, как описано в упражнении 4. Создайте представления для таблиц риЫ!5Ьег, ан!Ьог и с!г(е. Сделайте так, чтобы представление аибйог включало названия всех книг данного автора, а представление Вйе включало всех авторов, имеющих книгу с даншим названием. Создайте игеЬ-стран!сны для этих представлений. С помощью этих страниц укажите для некоторых книг второго н третьего автора. Закройте тс еЬ-приложение и исследуйте значения внешних клгочей в таблицах базы данных. Дайте обоснование этих значений в свете сделанных вами изменений.