powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Проектирование базы данных курсовых работ
5 сообщений из 5, страница 1 из 1
Проектирование базы данных курсовых работ
    #34537075
Verial
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Короче мучаю курсовую работу. Задача следующая: надо создать БД курсовых работ на MySQL, ну и обработку данных входящих в эту БД естественно. Данные, подлежащие хранению в БД:
1. Информация о студентах:
-номер зачетки
-ФИО
-курс
-группа
-отделение (специальность)
2. Информация о преподавателях
-номер препода
-фамилия
-должность
-кафедра
-телефон
3. Информация о темах курсовых работ
-номер препода
-тема курсовой
-лимит студентов на эту тему.
4. Информация о распределении тем курсовых работ
-номер зачетки
-тема
-номер преподователя (руководителя)
Если можно объясните поконкретнее, на примере Navicat MySQL или MySQL-Front как грамотно связать все эти данные и проиндексировать. И объясните зачем вообще надо индексировать таблицы. Извиняюсь за то, что задаю много вопросов сразу. Кто в силах, помогите...
...
Рейтинг: 0 / 0
Проектирование базы данных курсовых работ
    #34538104
NF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
NF
Гость
Что-то я не понял вопроса. Таблицы уже связаны у вас. Ведь связь - это наличие связываюшего поля в таблице. Например у вас таблицы "Информация о студентах" и "Информация о распределении тем курсовых работ" связаны полем Номер зачетки.

1. Информация о студентах:
-номер зачетки
-ФИО
4. Информация о распределении тем курсовых работ
-номер зачетки
-тема


На указанных вами продуктах показать не могу, т.к. ими не пользуюсь и не имею. Могу в ErWin набросать.
...
Рейтинг: 0 / 0
Проектирование базы данных курсовых работ
    #34543384
Фотография babaEGA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Таблицы:
1) Студент (номер студента, ФИО, номер зачетки, номер группы).
2) Группа (номер группы, название группы, номер специальности, номер курса).
3) специальность (номер специальности, название специальности).
4) Препод (номер препода, Фио, номер должности, номер кафедры, телефон)
5) Кафедра (номер, название)
6) должности (номер, название)
7) курсовая (номер курсовой, название темы, номер препода, лимит студентов на тему)
8) инфа о распределении тем курсовых работ (номер студента, номер курсовой) (номер препода уже есть в таблице курсовая, номер зачетки есть инфе о студенте).

Как то так, имхо.
...
Рейтинг: 0 / 0
Проектирование базы данных курсовых работ
    #34554439
Verial
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
babaEGAТаблицы:
1) Студент (номер студента, ФИО, номер зачетки, номер группы).
2) Группа (номер группы, название группы, номер специальности, номер курса).
3) специальность (номер специальности, название специальности).
4) Препод (номер препода, Фио, номер должности, номер кафедры, телефон)
5) Кафедра (номер, название)
6) должности (номер, название)
7) курсовая (номер курсовой, название темы, номер препода, лимит студентов на тему)
8) инфа о распределении тем курсовых работ (номер студента, номер курсовой) (номер препода уже есть в таблице курсовая, номер зачетки есть инфе о студенте).

А какие из полей первичные ключи, а какие внешние. И подскажите, пожалуйста, как на MySQL описать внешние ключи. Заранее спасибо.
...
Рейтинг: 0 / 0
Проектирование базы данных курсовых работ
    #34554960
Verial
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пытаюсь спроектировать предложенную babaEGA базу данных с помощью Database Designer for MySQL. Получилась структура, которая изображена в приложенном файле. код SQL ниже.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
SET FOREIGN_KEY_CHECKS= 0 ;

-- Drop table kafedra
DROP TABLE IF EXISTS `kafedra`;

CREATE TABLE `kafedra` (
  `id_kaf` int( 11 ) UNSIGNED NOT NULL AUTO_INCREMENT,
  `nazv_kaf` char( 50 ) NOT NULL,
  PRIMARY KEY(`id_kaf`)
)
ENGINE=INNODB;

-- Drop table dolgnosti
DROP TABLE IF EXISTS `dolgnosti`;

CREATE TABLE `dolgnosti` (
  `id_dolgn` int( 11 ) UNSIGNED NOT NULL AUTO_INCREMENT,
  `nazv_dolgn` char( 70 ) NOT NULL,
  PRIMARY KEY(`id_dolgn`)
)
ENGINE=INNODB;

-- Drop table spec
DROP TABLE IF EXISTS `spec`;

CREATE TABLE `spec` (
  `id_spec` int( 11 ) UNSIGNED NOT NULL AUTO_INCREMENT,
  `nazv_spec` char( 70 ) NOT NULL,
  PRIMARY KEY(`id_spec`)
)
ENGINE=INNODB;

-- Drop table gruppa
DROP TABLE IF EXISTS `gruppa`;

CREATE TABLE `gruppa` (
  `id_grup` int( 11 ) UNSIGNED NOT NULL AUTO_INCREMENT,
  `nazv_grup` char( 50 ),
  `id_spec` int( 11 ) UNSIGNED NOT NULL,
  `kurs` int( 11 ) UNSIGNED NOT NULL,
  PRIMARY KEY(`id_grup`),
  CONSTRAINT `Ref_07` FOREIGN KEY (`id_spec`)
    REFERENCES `spec`(`id_spec`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION
)
ENGINE=INNODB;

-- Drop table prepod
DROP TABLE IF EXISTS `prepod`;

CREATE TABLE `prepod` (
  `id_prep` int( 11 ) UNSIGNED NOT NULL AUTO_INCREMENT,
  `FIO` char( 80 ) NOT NULL,
  `id_dolgn` int( 11 ) UNSIGNED NOT NULL,
  `id_kaf` int( 11 ) UNSIGNED NOT NULL,
  `telefon` char( 50 ),
  PRIMARY KEY(`id_prep`),
  CONSTRAINT `Ref_04` FOREIGN KEY (`id_dolgn`)
    REFERENCES `dolgnosti`(`id_dolgn`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `Ref_08` FOREIGN KEY (`id_kaf`)
    REFERENCES `kafedra`(`id_kaf`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION
)
ENGINE=INNODB;

-- Drop table student
DROP TABLE IF EXISTS `student`;

CREATE TABLE `student` (
  `id_stud` int( 11 ) UNSIGNED NOT NULL AUTO_INCREMENT,
  `f_name` char( 50 ) NOT NULL,
  `s_name` char( 50 ) NOT NULL,
  `fat_name` char( 50 ) NOT NULL,
  `nz` int( 6 ) UNSIGNED NOT NULL,
  `id_grup` int( 11 ) UNSIGNED NOT NULL,
  PRIMARY KEY(`id_stud`),
  CONSTRAINT `Ref_03` FOREIGN KEY (`id_grup`)
    REFERENCES `gruppa`(`id_grup`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION
)
ENGINE=INNODB;

-- Drop table kursova
DROP TABLE IF EXISTS `kursova`;

CREATE TABLE `kursova` (
  `id_kursovoi` int( 11 ) UNSIGNED NOT NULL AUTO_INCREMENT,
  `tema` char( 200 ) NOT NULL,
  `id_prep` int( 11 ) UNSIGNED NOT NULL,
  `lim_stud` int( 11 ) UNSIGNED NOT NULL,
  `lim_client` int( 11 ) UNSIGNED NOT NULL,
  PRIMARY KEY(`id_kursovoi`),
  CONSTRAINT `Ref_06` FOREIGN KEY (`id_prep`)
    REFERENCES `prepod`(`id_prep`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION
)
ENGINE=INNODB;

-- Drop table result
DROP TABLE IF EXISTS `result`;

CREATE TABLE `result` (
  `id_stud` int( 11 ) UNSIGNED NOT NULL,
  `id_kursovoi` int( 11 ),
  INDEX `ind_stud_kursov`(`id_stud`, `id_kursovoi`),
  CONSTRAINT `Ref_01` FOREIGN KEY (`id_kursovoi`)
    REFERENCES `kursova`(`id_kursovoi`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `Ref_02` FOREIGN KEY (`id_stud`)
    REFERENCES `student`(`id_stud`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION
)
ENGINE=INNODB;

SET FOREIGN_KEY_CHECKS= 1 ;
ТАк вот, когда пытаюсь выполнить этот запрос, все таблицы создаются нормально, кроме таблицы result. Выдается ошибка "MySQL Error Code: (1005) Can't create table '.\kurs_work\result.frm' (errno:150)". Движок таблиц - InnoDB. Читал http://www.mysql.ru/docs/man/SEC451.html , что это из-за того, что не проиндексирована дочерняя таблица, - создавал индексы по обоим полям - та же ошибка, помогите разобраться.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Проектирование базы данных курсовых работ
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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