Проектирование. 380305БИ_Проектирование баз данных_лабораторные_ПоповВБ.docx. Лабораторная работа 1. Интерфейс субд mysql. Предоставление доступа и привилегий. Утилиты, входящие в состав субд цель работы
Скачать 1.15 Mb.
|
Синтаксис оператора SELECT Оператор SELECT имеет следующую структуру: SELECT [STRAIGHT_JOIN] [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT] [SQL_CACHE | SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS] [HIGH_PRIORITY] [DISTINCT | DISTINCTROW | ALL] select_expression,... [INTO {OUTFILE | DUMPFILE} 'file_name' export_options] [FROM table_references [WHERE where_definition] [GROUP BY {unsigned_integer | col_name | formula} [ASC | DESC], ...] [HAVING where_definition] [ORDER BY {unsigned_integer | col_name | formula} [ASC | DESC], ...] [LIMIT [offset,] rows] [PROCEDURE procedure_name] [FOR UPDATE | LOCK IN SHARE MODE]] SELECT применяется для извлечения строк, выбранных из одной или нескольких таблиц. select_expression может содержать следующие функции и операторы:
select_expression может также содержать один или большее количество следующих математических функций:
select_expression может также содержать одну или больше следующих строковых функций.
И наконец несколько просто полезных функций, которые тоже можно применить в select_expression.
Групповые функции в операторе select Следующие функции могут быть использованы в предложении GROUP:
ЗАДАНИЯ Задание1. В качестве предметной области рассматривается автотранспортное предприятие (гараж), предоставляющее услуги автомобильных перевозок топлива. База данных должна хранить данные об автомобилях, водителях, марках перевозимого топлива, данные о перевозках – автомобиль, водитель, перевезенное топливо, пробег, дата. Водители закреплены за автомобилями, причем за одним автомобилем может быть закреплено несколько водителей и каждый водитель может ездить на нескольких автомобилях. Задание 2. Агентство занимается продажей авиабилетов на различные рейсы, ведет учет проданных билетов и учет пассажиров, купивших билеты. Поэтому возникает потребность в хранении и обработке данных, сгруппированных следующим образом: информация о расписании рейсов (номер рейса, тип самолета, пункт отправления, пункт назначения, дата вылета, время вылета, время полета, цена билета); информация о свободных местах на рейс (номер рейса, дата вылета, общее количество мест, количество свободных мест); информация о пассажирах, купивших билеты на рейсы (номер паспорта, фамилия, имя, отчество, номер рейса, дата вылета); архив, в который помещается информация о выполненном рейсе (Номер рейса, дата вылета, общее количество мест, количество проданных мест). Задание 3. Спроектировать базу данных для агентства по трудоустройству Агентство по трудоустройству ведет списки лиц, ищущих работу, и списки вакансий. Вакансии поступают от организаций с указанием должности и оклада. В заявках претендентов, кроме анкетных данных, указывается желаемая должность и оклад, каждая вакансия заполняется несколькими претендентами, согласно их анкетным данным и передается агентством работодателю. Работодатель, независимо от агентства, отбирает одного из претендентов, который должен занять вакансию в базе данных агентства, после этого вакансии других претендентов аннулируются. Задание 4. Спроектировать базу данных, предназначенную для хранения информации о торгах на товарно-сырьевой бирже. На торги могут быть представлены разные товары одной и той же фирмы, и одни и те же товары разных фирм. Каждый товар имеет свой уникальный код, произведен определенной фирмой в определенное время. Товар имеет гарантийный срок хранения, единицу измерения. Товары поставляются партиями. Партия характеризуется: номером, условиями поставки (предоплата или нет). Партии товаров выставляют брокеры. В одну партию товаров включаются разнообразные товары от разных производителей определенного количества и цены. Считается, что партии товаров, выставленные на продажу, покупает сама биржа, и она же расплачивается с брокером и производителями товара. Если условием поставки указана предоплата, то биржа перечисляет деньги в день заключения договора, а если нет – то в день отгрузки. Брокеры работают за фиксированный процент прибыли от суммы заключенных сделок и перечисляют конторе, в которой они работают, фиксированную сумму денег, а все остальные заработанные ими деньги составляют их чистый доход (зарплату). Задание 5. Рассматривается предприятие, которое занимается поставкой и вводом в эксплуатацию оборудования для предприятий. БД должна хранить данные о заказчиках, о ценах и сроках выполнения заказов. На один вид оборудования может поступать несколько заявок от различных предприятий. На поставку оборудования или комплектующих на предприятие-заказчик оформляется заказ. На одно предприятие может быть поставлено оборудование разных наименований и в нескольких экземплярах по разным заказам. Необходимо вести учет поставок. С заказчиком по каждой поставке составляется договор купли-продажи. Задание 6. Сфера услуг отеля включает: обслуживание и бронирование номеров, ресторан, спортивный и тренажерный залы, сауну. Основной услугой является гостиничный номер, все остальные входят в разряд прочих услуг. Все заказы и их оплата записываются в базе данных отеля. Платежи за гостиничные номера и другие услуги учитываются отдельно друг от друга. Список клиентов содержит: код клиента, имя и фамилию клиента, страну, город, номер телефона. Список номеров включает: номер комнаты, класс номера, оплата номера в день. В информацию о платежах за номера входит: дата, код клиента, номер комнаты, число дней. Описание прочих услуг включает дату, код клиента, вид услуги (ресторан, спортивные тренажеры, досуг), размер оплаты. Задание 7. Издательство — предприятие, занимающееся выпуском разнообразной печатной продукции. Издательство заключает договор с заказчиком (клиентом) на выполнение заказа. Заказчиком может выступать частное лицо или организация. Частное лицо может быть автором издания (или одним из авторов, если их несколько) или представителем автора. Организация для контактов с издательством также имеет своего представителя – контактную персону. Заказ может быть книгой, брошюрой, рекламным проспектом, буклетом, бюллетенем для голосования или каким-либо другим видом издательской продукции. Подготовленные издательством материалы заказчика печатаются в типографиях, где издательство размещает свои заказы. Информацию о работе издательства можно сгруппировать следующим образом: сведения о заказчиках (частное лицо или организация, личные данные контактной персоны, адрес, телефон, факс); сведения о заказах (номер заказа, заказчик, вид печатной продукции, издание, типография, дата приема заказа, отметка о выполнении, дата выполнения заказа); сведения об изданиях (код издания, автор и название, объем в печатных листах, тираж, номер заказа); сведения об авторах (личные данные: Ф.И.О., домашний адрес, телефон; дополнительные сведения); сведения о типографиях (название, адрес, телефон). Задание 8. Хозрасчетная поликлиника ведет прием и учет пациентов, учет их посещений (визитов) и учет обслуживания пациентов специалистами (врачами) поликлиники. Существует необходимость в хранении информации обо всех посещениях поликлиники пациентами и о том, на приеме у каких специалистов они находились. Хранимую информацию о деятельности хозрасчетной поликлиники и ее пациентах можно сгруппировать так: пациент (номер истории болезни, Ф. И. О. пациента, домашний адрес пациента, телефон); специалист (личный номер специалиста, Ф. И. О. специалиста, специальность, домашний адрес, телефон); визиты (пациент, специалист, визит первый или повторный, дата визита, анамнез, диагноз, лечение, стоимость лекарств, стоимость услуг). архив, куда переносится информация о пациенте, если после его последнего визита прошел определенный срок (например, 3 года), Задание 9. Задание: Спроектировать базу данных и создать приложение для автоматизации работы фирмы по производству обуви. База данных должна хранить данные о каждом сотруднике, список поставщиков необходимой продукции или комплектующих и данные о каждом поставщике, список поставляемой продукции или комплектующих, список выполняемых сотрудниками работ. Каждый поставщик может поставлять несколько видов продукции. Каждый сотрудник может выполнять несколько видов работ, и каждый вид работ может выполняться несколькими сотрудниками. Задание 10. В базе данных фирмы “Мебель” хранится информация об изделиях, мастерах, их изготавливающих, клиентах фирмы, а также о накладных, составляемых при отгрузке изделий клиентам. Каждый мастер может изготавливать несколько изделий, однако каждое изделие изготавливается только одним мастером. В накладной указывается отпускная цена изделия, которая может отличаться от его себестоимости вследствие торговых наценок, индивидуальных скидок клиентам, в частности – при оптовых закупках. Руководству фирмы желательно знать, какие изделия выпускаются каждым из мастеров, сколько изделий и на какую сумму Задание 11. База данных должна хранить данные о сотрудниках предприятия, перечень отделов и подразделений предприятия. В справочнике содержатся сведения о сотрудниках. Должен учитываться отдел, в котором работает сотрудник. Каждый отдел относится к какому-либо подразделению предприятия, причем несколько отделов относятся к одному подразделению. В базе данных должна храниться информация об отделах и подразделениях. Задание 12. Рассмотрим специализированную библиотеку, которая располагает книжным фондом определенной тематической направленности. Предполагается, что каждая книга фонда может быть в одном экземпляре, так и в нескольких. Поэтому каждому экземпляру книги соответствует уникальный инвентарный номер и библиотечный код книги. Данные о книге содержатся в библиографической карточке, где указывается библиотечный код книги, автор, издательство и год издания. Библиотека выдает книги читателям во временное пользование. При записи в библиотеку каждому читателю присваивается порядковый номер, ему выдается читательский билет и для него заводится учетная карточка. Учетная карточка содержит информацию о выданных и возвращенных книгах. ЛИТЕРАТУРА http://www.opennet.ru/docs/RUS/mysql_notes/#f1 Поль Дюбуа. MySQL / Поль Дюбуа (Paul DuBois) // – Издательский дом "Вильямс". М. Chris Anley. Hackproofing MySQL / Chris Anley / MySQL. http://dev.mysql.com/doc/refman/4.0/ru/ http://dev.mysql.com/doc/refman/5.0/en/ man mysqld man mysqld_safe mysqldump –help 1Эта и все, описанные ниже команды добавлены начиная с версии 5.12 2 Атрибуты ssl_cipher, x509_issuer, x509_subject обязательны для заполнения для версии сервера 5.12 3 Для случая, если работаете на том же компьютере где запущен сервер БД 4 Даны для справки, для текущей версии сервера может быть существенно расширены 5 Перечень типов данных, поддерживаемых СУБД необходимо уточнить у производителя 6 В случае если данные вставляются не во все ячейки таблицы то это указывается при формировании инструкции tablename(id, id2), где tablename – имя таблицы, а id, id2 наименования атрибутов таблицы. 7 В случае использования табулятора \t 8 В случае Enter \r\n 9 См утилиту Mysqldump 10 Примечание. Корректно работает только при задании кодировки по умолчанию. Задается в разделе MYSQLD default_character_set=win1251 11 |