Мегаобучалка Главная | О нас | Обратная связь


Сортировка записей в наборе данных



2018-07-06 425 Обсуждений (0)
Сортировка записей в наборе данных 0.00 из 5.00 0 оценок




Введение

 

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

1. Модели данных

2. Представление данных с помощью модели "сущность-связь"

3. Элементы модели

4. Диаграмма "сущность-связь"

5. Целостность данных

6. SQL запросы

7. Open server

В задачах необходимо составить базу данных, состоящую из сущностей и связей.

Данное пособие представляет собой один из компонентов учебно-методического комплекса дисциплин «Проектирование информационных систем».

Для выполнения заданий возможно любой веб-сервер с поддержкой mysql и phpmyadmin, к примеру Vertrigo Server (распространяется свободно http://vertrigo.sourceforge.net/).

 


Теоретический материал

Модели данных

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

· структура данных - описывает точку зрения пользователя на представление данных.

· набор допустимых операций, выполняемых на структуре данных. Модель данных предполагает, как минимум, наличие языка определения данных (ЯОД), описывающего структуру их хранения, и языка манипулирования данными (ЯМД), включающего операции извлечения и модификации данных.

· ограничения целостности - механизм поддержания соответствия данных предметной области на основе формально описанных правил.

В процессе исторического развития в СУБД использовалось следующие модели данных:

· иерархическая,

· сетевая,

· реляционная.

В последнее время все большее значение приобретает объектно-ориентированный подход к представлению данных.


1.2. Представление данных с помощью модели "сущность-связь"

Прежде, чем приступать к созданию системы автоматизированной обработки информации, разработчик должен сформировать понятия о предметах, фактах и событиях, которыми будет оперировать данная система. Для того чтобы привести эти понятия к той или иной модели данных, необходимо заменить их информационными представлениями. Одним из наиболее удобных инструментов унифицированного представления данных, независимого от реализующего его программного обеспечения, является модель "сущность-связь" (entity - relationship model, ER - model).

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

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


Элементы модели

Любой фрагмент предметной области может быть представлен как множество сущностей, между которыми существует некоторое множество связей. Дадим определения:

Сущность (entity) - это объект, который может быть идентифицирован неким способом, отличающим его от других объектов. Примеры: конкретный человек, предприятие, событие и т.д.

Набор сущностей (entity set) - множество сущностей одного типа (обладающих одинаковыми свойствами). Примеры: все люди, предприятия, праздники и т.д. Наборы сущностей не обязательно должны быть непересекающимися. Например, сущность, принадлежащая к набору МУЖЧИНЫ, также принадлежит набору ЛЮДИ.

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

Ключ сущности - группа атрибутов, такая, что отображение набора сущностей в соответствующую группу наборов значений является взаимно-однозначным отображением. Другими словами: ключ сущности - это один или более атрибутов, уникально определяющих данную сущность. В нашем примере ключом сущности СОТРУДНИК является атрибут ТАБЕЛЬНЫЙ_НОМЕР (конечно, только в том случае, если все табельные номера на предприятии уникальны).

Связь (relationship) - это ассоциация, установленная между несколькими сущностями. Примеры:

· поскольку каждый сотрудник работает в каком-либо отделе, между сущностями СОТРУДНИК и ОТДЕЛ существует связь "работает в" или ОТДЕЛ-РАБОТНИК;

· так как один из работников отдела является его руководителем, то между сущностями СОТРУДНИК и ОТДЕЛ имеется связь "руководит" или ОТДЕЛ-РУКОВОДИТЕЛЬ;

· могут существовать и связи между сущностями одного типа, например связь РОДИТЕЛЬ - ПОТОМОК между двумя сущностями ЧЕЛОВЕК;

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

К сожалению, не существует общих правил определения, что считать сущностью, а что связью.

Роль сущности в связи - функция, которую выполняет сущность в данной связи. Например, в связи РОДИТЕЛЬ-ПОТОМОК сущности ЧЕЛОВЕК могут иметь роли "родитель" и "потомок". Указание ролей в модели "сущность-связь" не является обязательным и служит для уточнения семантики связи.

Набор связей (relationship set) - это отношение между n (причем n не меньше 2) сущностями, каждая из которых относится к некоторому набору сущностей.

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

В случае n=2, т.е. когда связь объединяет две сущности, она называется бинарной. Доказано, что n-арный набор связей (n>2) всегда можно заменить множеством бинарных, однако первые лучше отображают семантику предметной области.

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

  • один к одному (обозначается 1 : 1 ). Это означает, что в такой связи сущности с одной ролью всегда соответствует не более одной сущности с другой ролью. В рассмотренном нами примере это связь "руководит", поскольку в каждом отделе может быть только один начальник, а сотрудник может руководить только в одном отделе. Данный факт представлен на следующем рисунке, где прямоугольники обозначают сущности, а ромб - связь. Так как степень связи для каждой сущности равна 1, то они соединяются одной линией.

Рисунок 1 – Сущности

Другой важной характеристикой связи помимо ее степени является класс принадлежности входящих в нее сущностей или кардинальность связи. Так как в каждом отделе обязательно должен быть руководитель, то каждой сущности "ОТДЕЛ" непременно должна соответствовать сущность "СОТРУДНИК". Однако, не каждый сотрудник является руководителем отдела, следовательно в данной связи не каждая сущность "СОТРУДНИК" имеет ассоциированную с ней сущность "ОТДЕЛ".

Таким образом, говорят, что сущность "СОТРУДНИК" имеет обязательный класс принадлежности (этот факт обозначается также указанием интервала числа возможных вхождений сущности в связь, в данном случае это 1,1), а сущность "ОТДЕЛ" имеет необязательный класс принадлежности (0,1). Теперь данную связь можно описать как 0,1:1,1. Кардинальность бинарных связей степени 1 обозначим следующим образом:

Рисунок 2 – Кардинальность бинарных связей степени

  • один ко многим ( 1 : n ). В данном случае сущности с одной ролью может соответствовать любое число сущностей с другой ролью. Такова связь ОТДЕЛ-СОТРУДНИК. В каждом отделе может работать произвольное число сотрудников, но сотрудник может работать только в одном отделе. Графически степень связи n отображается "древообразной" линией, так это сделано на следующем рисунке 3.

Рисунок 3 – Графически степень связи

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

Здесь также необходимо учитывать класс принадлежности сущностей. Каждый сотрудник должен работать в каком-либо отделе, но не каждый отдел (например, вновь сформированный) должен включать хотя бы одного сотрудника. Поэтому сущность "ОТДЕЛ" имеет обязательный, а сущность "СОТРУДНИК" необязательный классы принадлежности. Кардинальность бинарных связей степени n обозначим так:

  • много к одному (n : 1 ). Эта связь аналогична отображению 1 : n. Предположим, что рассматриваемое нами предприятие строит свою деятельность на основании контрактов, заключаемых с заказчиками. Этот факт отображается в модели "сущность-связь" с помощью связи КОНТРАКТ-ЗАКАЗЧИК, объединяющей сущности КОНТРАКТ(НОМЕР, СРОК_ИСПОЛНЕНИЯ, СУММА) и ЗАКАЗЧИК(НАИМЕНОВАНИЕ, АДРЕС). Так как с одним заказчиком может быть заключено более одного контракта, то связь КОНТРАКТ-ЗАКАЗЧИК между этими сущностями будет иметь степень n : 1.

Рисунок 4 – Связь между этими

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

  • многие ко многим ( n : n ). В этом случае каждая из ассоциированных сущностей может быть представлена любым количеством экземпляров. Пусть на рассматриваемом предприятии для выполнения каждого контракта создается рабочая группа, в которую входят сотрудники разных отделов. Поскольку каждый сотрудник может входить в несколько (в том числе и ни в одну) рабочих групп, а каждая группа должна включать не менее одного сотрудника, то связь между сущностями СОТРУДНИК и РАБОЧАЯ_ГРУППА имеет степень n : n.

 


1.4 Диаграмма "сущность-связь"

Очень важным свойством модели "сущность-связь" является то, что она может быть представлена в виде графической схемы. Это значительно облегчает анализ предметной области. Существует несколько вариантов обозначения элементов диаграммы "сущность-связь", каждый из которых имеет свои положительные черты..

Обозначение Значение
Набор независимых сущностей
Набор зависимых сущностей
Атрибут
Ключевой атрибут
Набор связей

Рисунок 5 – Обозначения

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

1. Идентификация представляющих интерес сущностей и связей.

2. Идентификация семантической информации в наборах связей (например, является ли некоторый набор связей отображением 1:n).

3. Определение кардинальностей связей.

4. Определение атрибутов и наборов их значений (доменов).

5. Организация данных в виде отношений "сущность-связь".

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

Выделим интересующие сущности и связи:

1. Прежде всего, предприятие состоит из отделов, в которых работают сотрудники. Оклад каждого сотрудника зависит от занимаемой им должности (инженер, ведущий инженер, бухгалтер, уборщик и т.д.). Далее предположим, что на нашем предприятии допускается совместительство должностей, т.е. каждый сотрудник может иметь более чем одну должность (и работать более чем в одном отделе), причем может занимать неполную ставку. В то же время, одну и ту же должность могут занимать одновременно несколько сотрудников. В результате этих рассуждений введём наборы сущностей

o ОТДЕЛ(ИМЯ_ОТДЕЛА),

o СОТРУДНИК(ТАБЕЛЬНЫЙ_НОМЕР, ИМЯ),

o ДОЛЖНОСТЬ(ИМЯ_ДОЛЖНОСТИ, ОКЛАД),

и и набор связей РАБОТАЕТ_В с атрибутом ставка между ними. Атрибут ставка может принимать значения из интервала [0,1] (больше нуля, но меньше или равен единице), он определяет какую часть должностного оклада получает данный сотрудник.

Рисунок 6 – Сущности

 

Как уже отмечалось выше, каждый n-арный набор связей можно заменить несколькими бинарными наборами.

Связь, показанная здесь, безусловно несет более полную информацию о предметной области. Действительно, она однозначно отображает тот факт, что оклад сотрудника зависит от его должности, отдела, где он работает, и ставки. Однако, в этом случае возникают некоторые проблемы с определением степени связи. Хотя, как было сказано, каждый работник может занимать несколько должностей, а в штате каждого отдела существуют вакансии с различными должностями, тем не менее, класс принадлежности сущности ДОЛЖНОСТЬ на приведенном рисунке установлен в (1,1). Это объясняется тем, что ДОЛЖНОСТЬ ассоциируется фактически не с сущностями СОТРУДНИК и ОТДЕЛ, а со связью между ними. Обозначать этот факт предлагается так, как это показано на следующей диаграмме:

Рисунок 7 – Сущности и связи

 

Здесь сущности СОТРУДНИК, ОТДЕЛ и связь РАБОТАЕТ_В агрегируются в некую новую абстрактную сущность, которая ассоциируется с сущностью ДОЛЖНОСТЬ с помощью связи степени n:1.

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

Рисунок 8 – Сущности и связи

В этом случае для адекватного описания семантики предметной области необходимо ввести еще одну сущность ШТАТНАЯ_ЕДИНИЦА, которая фактически заменяет собой связь РАБОТАЕТ_В в абстрактной сущности и поэтому имеет атрибут ставка.

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

2. Перечисли ряд объектов, которые будут полезны при моделировании данных рассматриваемого предприятия. Им соответствуют следующие сущности:

o ЗАКАЗЧИК(ИМЯ_ЗАКАЗЧИКА,АДРЕС)

o КОНТРАКТ (НОМЕР,СРОК_НАЧАЛА,СРОК_ОКОНЧАНИЯ,СУММА)

o РАБОЧАЯ ГРУППА(ПРОЦЕНТ_ВОЗНАГРАЖДЕНИЯ)

Атрибут "процент_вознаграждения" отражает ту долю стоимости контракта, которая предназначена для оплаты труда членов соответствующей рабочей группы. Смысл остальных атрибутов понятен без дополнительных пояснений. Как правило, один из членов рабочей группы является руководителем по отношению к другим сотрудникам, входящим в ее состав. Для отражения этого факта введём связь "руководит" с кардинальностью 1,1:0,n между сущностями СОТРУДНИК и РАБОЧАЯ_ГРУППА (сотрудник может руководить в произвольном числе рабочих групп, но каждая рабочая группа имеет одного и только одного руководителя).

3. Рассмотрим теперь более внимательно информационный объект "заказчик". На практике очень часто возникает необходимость различать национальную принадлежность юридических лиц, с которыми предприятие вступает в договорные отношения. Это связано с тем, что для зарубежных фирм необходимо хранить, например, сведения о валюте, в которой осуществляются расчеты, языке, на котором подписан контракт и т.д. В свою очередь, для отечественных компаний необходимо иметь сведения об их форме собственности (частная или государственная), поскольку от этого может зависеть порядок налогообложения средств, полученных за выполнение работ по контракту.
Таким образом, необходимо ввести в рассмотрение еще два непересекающихся множества ЗАРУБЕЖНОЕ_ПРЕДПРИЯТИЕ(ВАЛЮТА, ЯЗЫК) и ОТЕЧЕСТВЕННОЕ_ПРЕДПРИЯТИЕ(ФОРМА_СОБСТВЕННОСТИ), объединение которых составляет полное множество ЗАКАЗЧИК. Ассоциацию между этими объектами называют отношением наследования или иерархической связью, так как сущности ЗАРУБЕЖНОЕ_ПРЕДПРИЯТИЕ и ОТЕЧЕСТВЕННОЕ_ПРЕДПРИЯТИЕ наследуют атрибуты сущности ЗАКАЗЧИК(ИМЯ_ЗАКАЗЧИКА, АДРЕС). Для того, чтобы определить к какому подмножеству относится конкретная сущность из набора ЗАКАЗЧИК (и, соответственно, какой набор атрибутов она имеет) необходимо ввести атрибут "национальная принадлежность", называемый дискриминантом. Этот тип связи предлагается отображать на диаграмме следующим образом:

Рисунок 9 – Сущности и связи

 

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

 

Рисунок 10 – Сущности и связи

 


Целостность данных

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

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

2. Ограничения на разрешенные значения для каждого атрибута. Например, возраст сотрудников может быть ограничен интервалом от 18 до 65 лет.

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

1.5 Целостность данных

SQL запросы

Команда отбора данных

Общий вид:

SELECT ПОЛЕ1, ПОЛЕ2, … ПОЛЕn,FROM ТАБЛИЦА WHERE УСЛОВИЕ

Если условие не указано, выбираются все записи из таблицы.

 

Исходная таблица:

 

ZARP

FIO SUMMA
ИВАНОВ ПЕТРОВ СИДОРОВ

В результате выполнения команды:

 

SELECT FIO FROM ZARP

 

Набор данных примет вид:

 

НД

FIO
ИВАНОВ ПЕТРОВ СИДОРОВ

*-позволяет выбрать все поля таблицы.

 

В результате выполнения команды:

 

SELECT * FROM ZARP

 

Набор данных примет вид:

 

НД

FIO SUMMA
ИВАНОВ ПЕТРОВ СИДОРОВ

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

Операции отношения >, <, =, >=, <=, <>.

Логические операции AND, OR, NOT.

Операции отношения имеют более высокий приоритет, чем операции отношения.

 

Исходная таблица:

 

ZARP

FIO SUMMA
ИВАНОВ ПЕТРОВ СИДОРОВ

В результате выполнения команды:

 

SELECT * FROM ZARP WHERE SUMMA>1500

 

Набор данных примет вид:

 

НД

 

FIO SUMMA
ПЕТРОВ СИДОРОВ

В результате выполнения команды:

 

SELECT SUMMA FROM ZARP WHERE FIO=’ ИВАНОВ’

 

Набор данных примет вид:

 

НД

 

SUMMA

Сортировка записей в наборе данных

 

Общий вид команды:

SELECT ПОЛЕ1, ПОЛЕ2, ..., ПОЛЕn,FROM ТАБЛИЦА ORDER BY ПОЛЕm, ПОЛЕq,...

Исходная таблица:

 

ZARP

FIO SUMMA
ИВАНОВ ПЕТРОВ СИДОРОВ ПЕТРОВ

В результате выполнения команды:

 

SELECT * FROM ZARP ORDER BY FIO

 

Набор данных примет вид:

 

НД

FIO SUMMA
ИВАНОВ ПЕТРОВ ПЕТРОВ СИДОРОВ

Если сортировка производится по нескольким полям, то строки сортируются сначала по значению первого поля, а затем по второму.

 

В результате выполнения команды:

 

SELECT * FROM ZARP ORDER BY FIO, SUMMA

 

Набор данных примет вид:

 

НД

FIO SUMMA
ИВАНОВ ПЕТРОВ ПЕТРОВ СИДОРОВ

 

Если после имени поля сортировки указано ключевое слово DESC, то сортировка выполняется в обратной последовательности (только для этого поля).

 

В результате выполнения команды:

 

SELECT * FROM ZARP ORDER BY FIODESC, SUMMA DESC

 

Набор данных примет вид:

 

НД

 

FIO SUMMA
СИДОРОВ ПЕТРОВ ПЕТРОВ ИВАНОВ

В результате выполнения команды:

 

SELECT * FROM ZARP ORDER BY FIODESC, SUMMA

Набор данных примет вид:

 

НД

 

FIO SUMMA
СИДОРОВ ПЕТРОВ ПЕТРОВ ИВАНОВ

 

 

Open server

 

Open server - это высокопрофессиональный и простой в установке набор, состоящий из Apache (HTTP веб-сервер), PHP (скриптовый язык программирования), MySQL (многопоточная, многопользовательская СУБД), SQLite (встраиваемый движок баз данных), SQLiteManager (многоязычная веб-утилита для управления БД SQLite), PhpMyAdmin (утилита, написанная на PHP для администрирования БД MySQL) и Zend Optimizer (который увеличивает производительность запущенных процессов на 40%) для платформы Windows. C помощью удобного инсталлятора "всё-в-одном" все компоненты устанавливаются в одну директорию и работают сразу же после того как установка закончена. Деинсталлятор позволяет удобно удалять Open server с жесткого диска.

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

Пароли по умолчанию для MySQL & phpMyAdmin

Логин: root

Пароль: 12345

Краткая инструкция использования

Папка для загрузки файлов: www/

Локальный адрес: http://localhost/

Адрес: http://localhost/slaed/index.php в случае если система установлена в директорию www/slaed/

Директорию установки необходимо указывать в адресной строке браузера, в случае если система загружена в папку slaed/ директории www/ Название папки slaed/ Вы можете изменить, но в таком случае, в адресной строке браузера, нужно будет изменить и путь соответственно.

Компоненты

· Apache 2.0.63

· PHP 5.2.6

· MySQL 5.0.51b

· SQLite 3.5.9

· Smarty 2.6.19

· PhpMyAdmin 2.11.7

· ZendOptimizer 3.3.3

· SQLiteManager 1.2.0

Основные функции

· Небольшой размер (LZMA сжатие)

· Безопасен, потому что содержит последние версии продуктов

· Очень простой в установке и использовании

· Не требует настройки и ручной установки

· Совместим со всеми основными версиями Windows

· Полностью бесплатен для любого использования

 

 


2. Пример решения задачи

Пример1

Задание: спроектировать базу данных “Университет”. База должна содержать данные о студентах, преподавателях, кафедрах, факультетах, успеваемости, расписании учебных занятий, расписании звонков. Обеспечить целостность данных. Минимальное количество сущностей – 10.

План решения:

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

1. Studens – Таблица содержащая информацию о студентах

Имя поля Тип данных Длина Комментарий
num int 10 Номер записи. Ключевое поле.
fio text 50 Фамилия, имя, отчество.
spec int 10 Номер специальности, специальности хранятся в другой таблице
god_post int 10 Год поступления
tip_obuch int 10 Номер типа обучения
roditel_m text 200 Информация о матери
roditel_p text 200 Информация об отце
pol int 1 Номер пола студента
phone int 10 Номер телефона
birthday text 20 Дата рождения
group text 20 Группа где обучается студент

 


2. Prepod – Таблица содержащая информацию о преподавателях

Имя поля Тип данных Длина Комментарий
num int 10 Номер записи. Ключевое поле.
fio text 50 Фамилия, имя, отчество.
kaf int 10 Номер кафедры, где работает преподаватель
date text 20 Дата поступления на работу
uch_zv int 10 Номер учёной степени
semya text 200 Информация о семье
pol int 1 Номер пола студента
phone int 10 Номер телефона

 

3. Kaf – Таблица содержащая информацию о кафедрах

Имя поля Тип данных Длина Комментарий
num int 10 Номер записи. Ключевое поле.
name text 50 Название кафедры
fakilt int 10 Номер факультета, к которой относится кафедра

 

4. Fakult – Таблица содержащая информацию о факультетах

Имя поля Тип данных Длина Комментарий
num int 10 Номер записи. Ключевое поле.
name text 50 Название факультета
decan int 10 Номер преподавателя из таблицы преподавателей

 


5. Obucheniya – Таблица содержащая информацию о типах обучения

Имя поля Тип данных Длина Комментарий
num int 10 Номер записи. Ключевое поле.
name text 50 Название типа обучения

 

6. Dni – Таблица содержащая информацию о днях недели

Имя поля Тип данных Длина Комментарий
num int 10 Номер записи. Ключевое поле.
name text 50 Название дней недели

 

7. Vermya – Таблица содержащая информацию о звонках

Имя поля Тип данных Длина Комментарий
num int 10 Номер записи. Ключевое поле.
vremya_par text 50 Время звонков

8. Raspis – Таблица содержащая информацию о расписании учебных занятий.

Имя поля Тип данных Длина Комментарий
num int 10 Номер записи. Ключевое поле.
num_disc text 50 Номер названия дисциплины
aud int 10 Номер аудитории
tip int 10 Номер типа учебных занятий
group text 50 Номер и название группы
prep int 10 Номер преподавателя из таблицы преподавателей
num_dni int 10 Номер дня недели
vremya int 10 Номер пары

9. Tip_par – Таблица содержащая информацию о типах учебных занятий

Имя поля Тип данных Длина Комментарий
num int 10 Номер записи. Ключевое поле.
name text 50 Тип пары. Указано название.

 

10. Usp – Таблица содержащая информацию о успеваемости студентов

Имя поля Тип данных Длина Комментарий
num int 10 Номер записи. Ключевое поле.
num_stud int 10 Номер студента из таблицы студентов
tip_sdachi int 10 Номер типа сдачи
ocenka int 10 Полученная оценка
num_disc int 10 Номер названия дисциплины
date text 50 Дата проведения
num_ved int 10 Номер ведомости

 

11. Tip_sdachi – Таблица содержащая информацию о типах проведения оценки студентов.

Имя поля Тип данных Длина Комментарий
num int 10 Номер записи. Ключевое поле.
name text 50 Тип сдачи

 

12. Disc – Таблица содержащая информацию о дисциплинах

Имя поля Тип данных Длина Комментарий
num int 10 Номер записи. Ключевое поле.
name text 50 Название дисциплины

13. Group – Таблица содержащая информацию о группах

Имя поля Тип данных Длина Комментарий
num int 10 Номер записи. Ключевое поле.
name text 50 Название группы

 

14. Spec – Таблица содержащая информацию о специальностях

Имя поля Тип данных Длина Комментарий
num int 10 Номер записи. Ключевое поле.
name text 50 Название специальности
fakilt int 10 Номер факультета, к которой относится специальность

 

15. Uch_zv – Таблица содержащая информацию о учёных званиях

Имя поля Тип данных Длина Комментарий
num int 10 Номер записи. Ключевое поле.
name text 50 Учёное звание

 

16. Pol – Таблица содержащая информацию полу человека

Имя поля Тип данных Длина Комментарий
num int 10 Номер записи. Ключевое поле.
name text 50 Пол

 

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

Спроектированная база данных с сущностями и связями будет иметь вид:



Дамп базы:


-- phpMyAdmin SQL Dump

-- version 2.11.7

-- http://www.phpmyadmin.net

--

-- Хост: localhost

-- Время создания: Апр 26 2009 г., 11:10

-- Версия сервера: 5.0.51

-- Версия PHP: 5.2.6

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";

--

-- База данных: `universitet`

--

-- --------------------------------------------------------

--

-- Структура таблицы `disc`

--

CREATE TABLE IF NOT EXISTS `disc` (

`num` int(11) NOT NULL auto_increment,

`name` text collate utf8_bin NOT NULL,

PRIMARY KEY (`num`)

) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin AUTO_INCREMENT=1 ;

--

-- Структура таблицы `dni`

--

CREATE TABLE IF NOT EXISTS `dni` (

`num` int(11) NOT NULL auto_increment,

`name` text collate utf8_bin NOT NULL,

PRIMARY KEY (`num`)

) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin AUTO_INCREMENT=1 ;

--

-- Структура таблицы `fakult`

--

CREATE TABLE IF NOT EXISTS `fakult` (

`num` int(11) NOT NULL auto_increment,

`name` text collate utf8_bin NOT NULL,

`decan` int(11) NOT NULL,

PRIMARY KEY (`num`)

) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin AUTO_INCREMENT=1 ;

--

-- Структура таблицы `group`

--

CREATE TABLE IF NOT EXISTS `group` (

`num` int(11) NOT NULL auto_increment,

`name` text collate utf8_bin NOT NULL,

PRIMARY KEY (`num`)

) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin AUTO_INCREMENT=1 ;

--

-- Структура таблицы `kaf`

--

CREATE TABLE IF NOT EXISTS `kaf` (

`num` int(11) NOT NULL auto_increment,

`name` text collate utf8_bin NOT NULL,

`fakilt` int(11) NOT NULL,

PRIMARY KEY (`num`)

) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE



2018-07-06 425 Обсуждений (0)
Сортировка записей в наборе данных 0.00 из 5.00 0 оценок









Обсуждение в статье: Сортировка записей в наборе данных

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

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



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (425)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.012 сек.)