powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Я в тупике помогите выбраться
17 сообщений из 17, страница 1 из 1
Я в тупике помогите выбраться
    #37820665
korolariya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Имеем отношение РАСПИСАНИЕ(ДЕНЬ, ВРЕМЯ, АУДИТОРИЯ, ПРЕПОДАВАТЕЛЬ). На значения атрибутов накладываются ограничения:
- в данные день, время и аудитории может находиться один преподаватель,
- некоторый преподаватель в данный день и время может находиться в одной аудитории.
Составить функциональные зависимости.

Я пытаюсь составить таблицу так чтобы выполнялось условие, может я ещё не так задание понял, но у меня пока получилось сделать так что нельзя писать одну и туже аудиторию и одно и то же время, но как бы в следующий день или время аудитория должна попадать, что значит функциональные зависимости? может это функциями нужно было а не связями=) в инете так мало информации по базам, или мне просто не везёт =)
...
Рейтинг: 0 / 0
Я в тупике помогите выбраться
    #37820677
korolariya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
нашёл вот такую штуку, только не доганяю пока как на практике это делается
Рассмотрим следующий пример схемы отношения:

СОТРУДНИКИ-ОТДЕЛЫ-ПРОЕКТЫ

(СОТР_НОМЕР, СОТР_ЗАРП, ОТД_НОМЕР, ПРО_НОМЕР, СОТР_ЗАДАН)

Первичный ключ:

СОТР_НОМЕР, ПРО_НОМЕР

Функциональные зависимости:

СОТР_НОМЕР -> СОТР_ЗАРП

СОТР_НОМЕР -> ОТД_НОМЕР

ОТД_НОМЕР -> СОТР_ЗАРП

СОТР_НОМЕР, ПРО_НОМЕР -> СОТР_ЗАДАН
Как видно, хотя первичным ключом является составной атрибут СОТР_НОМЕР, ПРО_НОМЕР, атрибуты СОТР_ЗАРП и ОТД_НОМЕР функционально зависят от части первичного ключа, атрибута СОТР_НОМЕР. В результате мы не сможем вставить в отношение СОТРУДНИКИ-ОТДЕЛЫ-ПРОЕКТЫ кортеж, описывающий сотрудника, который еще не выполняет никакого проекта (первичный ключ не может содержать неопределенное значение). При удалении кортежа мы не только разрушаем связь данного сотрудника с данным проектом, но утрачиваем информацию о том, что он работает в некотором отделе. При переводе сотрудника в другой отдел мы будем вынуждены модифицировать все кортежи, описывающие этого сотрудника, или получим несогласованный результат. Такие неприятные явления называются аномалиями схемы отношения. Они устраняются путем нормализации.
...
Рейтинг: 0 / 0
Я в тупике помогите выбраться
    #37820731
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
korolariyaтолько не доганяю пока как на практике это делается
Рассмотрим следующий пример схемы отношения:
<...>
Такие неприятные явления называются аномалиями схемы отношения. Они устраняются путем нормализации.
это с ситфорума цитата? там же дальше всё расписано...
...
Рейтинг: 0 / 0
Я в тупике помогите выбраться
    #37822315
korolariya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
не не нарисовано я читал дальше, не понимаю как делать, если бы таблички со схемами хотя бы были, тоесть стрелки. Или Sql базы с похожими ограничениями, я бы в mysql загрузил посмотрел бы покрутил понятно бы стало.
...
Рейтинг: 0 / 0
Я в тупике помогите выбраться
    #37822570
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
On 06/01/2012 02:30 AM, korolariya wrote:
> - в данные день, время и аудитории может находиться один преподаватель,
> - некоторый преподаватель в данный день и время может находиться в одной аудитории.

Это тавтология. Т.е. это одно и то же.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Я в тупике помогите выбраться
    #37822573
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
On 06/01/2012 02:30 AM, korolariya wrote:
> Имеем отношение РАСПИСАНИЕ(ДЕНЬ, ВРЕМЯ, АУДИТОРИЯ, ПРЕПОДАВАТЕЛЬ). На значения
> атрибутов накладываются ограничения:

Учти, что ВРЕМЯ тут должно быть как интервал времени. Либо это -- ссылка на
справочник интервалов, либо должно быть два поля : начало и конец.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Я в тупике помогите выбраться
    #37822668
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
аудитория=она_и_есть
период=(день,время)
пара=(аудитория,период)
расписание=(пара,преподаватель)

Для курсовой сойдёт, чо.
...
Рейтинг: 0 / 0
Я в тупике помогите выбраться
    #37822852
Бредятина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
korolariyaИмеем отношение РАСПИСАНИЕ(ДЕНЬ, ВРЕМЯ, АУДИТОРИЯ, ПРЕПОДАВАТЕЛЬ). На значения атрибутов накладываются ограничения:
- в данные день, время и аудитории может находиться один преподаватель,
- некоторый преподаватель в данный день и время может находиться в одной аудитории.
Составить функциональные зависимости.

Я пытаюсь составить таблицу так чтобы выполнялось условие, может я ещё не так задание понял, но у меня пока получилось сделать так что нельзя писать одну и туже аудиторию и одно и то же время, но как бы в следующий день или время аудитория должна попадать, что значит функциональные зависимости? может это функциями нужно было а не связями=) в инете так мало информации по базам, или мне просто не везёт =)
Вопрос по этому заданию задается на форуме ежегодно:) Пора бы преподавателям немного разнообразить задачи:)
...
Рейтинг: 0 / 0
Я в тупике помогите выбраться
    #37823400
korolariya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
так хоть какая нибудь методичка была бы, а то просто задание делай как хочешь, у нас всего 1 урок был, если есть разбор этой задачи на форуме можно было бы хоть ссылку
...
Рейтинг: 0 / 0
Я в тупике помогите выбраться
    #37823401
korolariya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
tanglir,

А как связи построить? точнее какие
...
Рейтинг: 0 / 0
Я в тупике помогите выбраться
    #37823403
korolariya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
tanglir,

Да это не курсовая, а всего 4-я задание из 7 в контрольной
...
Рейтинг: 0 / 0
Я в тупике помогите выбраться
    #37823631
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>А как связи построить?
RTFM foreign key
>точнее какие
из "пары" - на "аудиторию" и на "период"
из "расписания" - на "преподавателя" и на "пару"
Куда уж проще.
...
Рейтинг: 0 / 0
Я в тупике помогите выбраться
    #37824692
korolariya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
tanglir,

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


SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";


/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;

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

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

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

CREATE TABLE IF NOT EXISTS `пара` (
`id_auditory` int(11) NOT NULL,
`id_period` int(255) NOT NULL,
`id_PARA` int(11) NOT NULL AUTO_INCREMENT,
PRIMARY KEY (`id_PARA`),
UNIQUE KEY `id_auditory` (`id_auditory`),
KEY `FK_пара_период_id_period` (`id_period`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

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

--
-- Структура таблицы `период`
--

CREATE TABLE IF NOT EXISTS `период` (
`День` date NOT NULL,
`Время` time NOT NULL,
`id_period` int(11) NOT NULL AUTO_INCREMENT,
UNIQUE KEY `День` (`День`),
UNIQUE KEY `id_period` (`id_period`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

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

--
-- Структура таблицы `преподаватели`
--

CREATE TABLE IF NOT EXISTS `преподаватели` (
`id_prepod` int(11) NOT NULL,
`FIO` varchar(255) NOT NULL,
UNIQUE KEY `id_prepod` (`id_prepod`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

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

--
-- Структура таблицы `аудитория`
--

CREATE TABLE IF NOT EXISTS `аудитория` (
`id_auditory` int(11) NOT NULL,
UNIQUE KEY `id_auditory` (`id_auditory`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

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

--
-- Структура таблицы `расписание`
--

CREATE TABLE IF NOT EXISTS `расписание` (
`пара` int(11) NOT NULL,
`преподаватель` int(11) NOT NULL,
KEY `FK_расписание_пара_id_PARA` (`пара`),
KEY `FK_расписание_преподаватели_id_prepod` (`преподаватель`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Ограничения внешнего ключа сохраненных таблиц
--

--
-- Ограничения внешнего ключа таблицы `пара`
--
ALTER TABLE `пара`
ADD CONSTRAINT `FK_пара_аудитория_id_auditory` FOREIGN KEY (`id_auditory`) REFERENCES `аудитория` (`id_auditory`),
ADD CONSTRAINT `FK_пара_период_id_period` FOREIGN KEY (`id_period`) REFERENCES `период` (`id_period`);

--
-- Ограничения внешнего ключа таблицы `расписание`
--
ALTER TABLE `расписание`
ADD CONSTRAINT `FK_расписание_преподаватели_id_prepod` FOREIGN KEY (`преподаватель`) REFERENCES `преподаватели` (`id_prepod`),
ADD CONSTRAINT `FK_расписание_пара_id_PARA` FOREIGN KEY (`пара`) REFERENCES `пара` (`id_PARA`);

/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
...
Рейтинг: 0 / 0
Я в тупике помогите выбраться
    #37824729
korolariya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Дело в том что мне дало поставить 2-х преподов на 1-ю пару что то не так, но аудиторию уже как id не даёт но если изменится период по идее аудитории должны повторятся а так как ключ то не даст записать
...
Рейтинг: 0 / 0
Я в тупике помогите выбраться
    #37824907
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
korolariyaДело в том что мне дало поставить 2-х преподов на 1-ю пару что то не такэто "что-то" - вот тут, что именно - подумайте сами
korolariya
Код: sql
1.
2.
3.
4.
5.
6.
CREATE TABLE IF NOT EXISTS `расписание` (
  `пара` int(11) NOT NULL,
  `преподаватель` int(11) NOT NULL,
  KEY `FK_расписание_пара_id_PARA` (`пара`),
  KEY `FK_расписание_преподаватели_id_prepod` (`преподаватель`)
)

подсказка:
нужно дописать одно слово в 4-й строчке
...
Рейтинг: 0 / 0
Я в тупике помогите выбраться
    #37825062
korolariya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
tanglir,

Я конечно люблю загадки, но я даже не имею понятия что же туда дописать=) хотя бы варианты ответа, я бы уже подобрал=)
...
Рейтинг: 0 / 0
Я в тупике помогите выбраться
    #37825065
korolariya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
tanglir,

Может какой нибудь уникальный ключ где то=)
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Я в тупике помогите выбраться
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]