powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Нужно объективное мнение на счет схемы БД!
6 сообщений из 6, страница 1 из 1
Нужно объективное мнение на счет схемы БД!
    #35792400
snake00
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хотелось бы узнать на счет правильности составленной схемы...
Вот как выглядит БД для тестирования студентов в 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.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
154.
155.
156.
157.
158.
159.
160.
161.
162.
163.
164.
165.
166.
167.
168.
169.
170.
171.
172.
173.
174.
175.
176.
177.
178.
179.
180.
181.
182.
183.
184.
185.
186.
187.
188.
189.
190.
191.
192.
193.
194.
195.
196.
197.
198.
199.
200.
201.
202.
203.
204.
205.
206.
207.
208.
209.
210.
211.
212.
213.
214.
215.
216.
217.
218.
219.
220.
221.
222.
223.
224.
225.
226.
227.
228.
229.
230.
231.
232.
233.
234.
235.
236.
237.
238.
239.
240.
241.
242.
243.
244.
245.
246.
247.
248.
249.
250.
251.
252.
253.
CREATE DATABASE [MATXT]
LOG ON
  ( NAME = [MATXT_log],
    FILENAME = 'c:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\MATXT_log.ldf',
    SIZE =  1  MB,
    MAXSIZE =  0  MB,
    FILEGROWTH =  10  % )
COLLATE Cyrillic_General_CI_AS
GO

USE [MATXT]
GO

CREATE TABLE [dbo].[ВАРИАНТЫ ОТВЕТОВ] (
  [ID] int IDENTITY( 1 ,  1 ) NOT NULL,
  [IDVoprosa] int NOT NULL,
  [Text] varchar( 2000 ) COLLATE Cyrillic_General_CI_AS NULL,
  [Image] nvarchar(max) COLLATE Cyrillic_General_CI_AS NULL,
  [Yes] bit CONSTRAINT [DF__ВАРИАНТЫ ОТ__Yes__300424B4] DEFAULT ( 0 ) NOT NULL
)
ON [PRIMARY]
GO

EXEC sp_addextendedproperty 'MS_Description', N'Ключевое поле', 'schema', 'dbo', 'table', 'ВАРИАНТЫ ОТВЕТОВ', 'column', 'ID'
GO

EXEC sp_addextendedproperty 'MS_Description', N'Внешний ключ для Вопроса', 'schema', 'dbo', 'table', 'ВАРИАНТЫ ОТВЕТОВ', 'column', 'IDVoprosa'
GO

EXEC sp_addextendedproperty 'MS_Description', N'Текст варианта ответа', 'schema', 'dbo', 'table', 'ВАРИАНТЫ ОТВЕТОВ', 'column', 'Text'
GO

EXEC sp_addextendedproperty 'MS_Description', N'Картинка', 'schema', 'dbo', 'table', 'ВАРИАНТЫ ОТВЕТОВ', 'column', 'Image'
GO

EXEC sp_addextendedproperty 'MS_Description', N'Правильность', 'schema', 'dbo', 'table', 'ВАРИАНТЫ ОТВЕТОВ', 'column', 'Yes'
GO

CREATE TABLE [dbo].[ВОПРОСЫ] (
  [ID] int IDENTITY( 1 ,  1 ) NOT NULL,
  [IDTheme] int NOT NULL,
  [Text] varchar(max) COLLATE Cyrillic_General_CI_AS NOT NULL,
  [image] nvarchar(max) COLLATE Cyrillic_General_CI_AS NULL
)
ON [PRIMARY]
GO


CREATE TABLE [dbo].[ГРУППЫ] (
  [id] int IDENTITY( 1 ,  1 ) NOT NULL,
  [gruppa] varchar( 10 ) COLLATE Cyrillic_General_CI_AS NOT NULL
)
ON [PRIMARY]
GO


CREATE TABLE [dbo].[ЗАДАННЫЕ ВОПРОСЫ] (
  [id] int IDENTITY( 1 ,  1 ) NOT NULL,
  [idKontrol_tochka] int NOT NULL,
  [idVoprosa] int NOT NULL,
  [PoryadkovyNomerVoprosaVTeste] int NOT NULL
)
ON [PRIMARY]
GO

CREATE TABLE [dbo].[КОНТРОЛЬНЫЕ ТОЧКИ] (
  [ID] int NOT NULL,
  [IDStudenta] int NOT NULL,
  [DataCdachi] int NOT NULL,
  [Ocenka] int NOT NULL
)
ON [PRIMARY]
GO


CREATE TABLE [dbo].[ОТВЕТЫ СТУДЕНТОВ] (
  [id] int IDENTITY( 1 ,  1 ) NOT NULL,
  [idZadannogoVoprosa] int NOT NULL,
  [idVariantaOtveta] int NOT NULL
)
ON [PRIMARY]
GO


CREATE TABLE [dbo].[СТУДЕНТЫ] (
  [ID] int IDENTITY( 1 ,  1 ) NOT NULL,
  [IDGruppa] int NOT NULL,
  [login] varchar( 12 ) COLLATE Cyrillic_General_CI_AS NULL,
  [pass] varchar( 12 ) COLLATE Cyrillic_General_CI_AS NULL,
  [fam] varchar( 32 ) COLLATE Cyrillic_General_CI_AS NULL,
  [im] varchar( 32 ) COLLATE Cyrillic_General_CI_AS NULL,
  [ot] varchar( 32 ) COLLATE Cyrillic_General_CI_AS NULL
)
ON [PRIMARY]
GO


CREATE TABLE [dbo].[ТЕМЫ] (
  [ID] int IDENTITY( 1 ,  1 ) NOT NULL,
  [Nazvanie] varchar( 100 ) COLLATE Cyrillic_General_CI_AS NOT NULL
)
ON [PRIMARY]
GO

ALTER TABLE [dbo].[ВАРИАНТЫ ОТВЕТОВ]
ADD PRIMARY KEY CLUSTERED ([ID])
WITH (
  PAD_INDEX = OFF,
  IGNORE_DUP_KEY = OFF,
  STATISTICS_NORECOMPUTE = OFF,
  ALLOW_ROW_LOCKS = ON,
  ALLOW_PAGE_LOCKS = ON)
ON [PRIMARY]
GO

ALTER TABLE [dbo].[ВОПРОСЫ]
ADD PRIMARY KEY CLUSTERED ([ID])
WITH (
  PAD_INDEX = OFF,
  IGNORE_DUP_KEY = OFF,
  STATISTICS_NORECOMPUTE = OFF,
  ALLOW_ROW_LOCKS = ON,
  ALLOW_PAGE_LOCKS = ON)
ON [PRIMARY]
GO

ALTER TABLE [dbo].[ГРУППЫ]
ADD CONSTRAINT [PK_Группы_] 
PRIMARY KEY CLUSTERED ([id])
WITH (
  PAD_INDEX = OFF,
  IGNORE_DUP_KEY = OFF,
  STATISTICS_NORECOMPUTE = OFF,
  ALLOW_ROW_LOCKS = ON,
  ALLOW_PAGE_LOCKS = ON)
ON [PRIMARY]
GO

ALTER TABLE [dbo].[ЗАДАННЫЕ ВОПРОСЫ]
ADD CONSTRAINT [PK_ЗАДАННЫЕ ВОПРОСЫ] 
PRIMARY KEY CLUSTERED ([id])
WITH (
  PAD_INDEX = OFF,
  IGNORE_DUP_KEY = OFF,
  STATISTICS_NORECOMPUTE = OFF,
  ALLOW_ROW_LOCKS = ON,
  ALLOW_PAGE_LOCKS = ON)
ON [PRIMARY]
GO

ALTER TABLE [dbo].[КОНТРОЛЬНЫЕ ТОЧКИ]
ADD CONSTRAINT [PK__РЕЗУЛЬТАТЫ ТЕСТИ__108B795B] 
PRIMARY KEY CLUSTERED ([ID])
WITH (
  PAD_INDEX = OFF,
  IGNORE_DUP_KEY = OFF,
  STATISTICS_NORECOMPUTE = OFF,
  ALLOW_ROW_LOCKS = ON,
  ALLOW_PAGE_LOCKS = ON)
ON [PRIMARY]
GO

ALTER TABLE [dbo].[ОТВЕТЫ СТУДЕНТОВ]
ADD CONSTRAINT [PK_ОТВЕТЫ СТУДЕНТОВ] 
PRIMARY KEY CLUSTERED ([id])
WITH (
  PAD_INDEX = OFF,
  IGNORE_DUP_KEY = OFF,
  STATISTICS_NORECOMPUTE = OFF,
  ALLOW_ROW_LOCKS = ON,
  ALLOW_PAGE_LOCKS = ON)
ON [PRIMARY]
GO

ALTER TABLE [dbo].[СТУДЕНТЫ]
ADD PRIMARY KEY CLUSTERED ([ID])
WITH (
  PAD_INDEX = OFF,
  IGNORE_DUP_KEY = OFF,
  STATISTICS_NORECOMPUTE = OFF,
  ALLOW_ROW_LOCKS = ON,
  ALLOW_PAGE_LOCKS = ON)
ON [PRIMARY]
GO

ALTER TABLE [dbo].[ТЕМЫ]
ADD CONSTRAINT [PK__ПРЕДМЕТЫ__1BFD2C07] 
PRIMARY KEY CLUSTERED ([ID])
WITH (
  PAD_INDEX = OFF,
  IGNORE_DUP_KEY = OFF,
  STATISTICS_NORECOMPUTE = OFF,
  ALLOW_ROW_LOCKS = ON,
  ALLOW_PAGE_LOCKS = ON)
ON [PRIMARY]
GO


ALTER TABLE [dbo].[ВАРИАНТЫ ОТВЕТОВ]
ADD CONSTRAINT [FK_ВАРИАНТЫ ОТВЕТОВ_ВОПРОСЫ] FOREIGN KEY ([IDVoprosa]) 
  REFERENCES [dbo].[ВОПРОСЫ] ([ID]) 
  ON UPDATE NO ACTION
  ON DELETE NO ACTION
GO

ALTER TABLE [dbo].[ВОПРОСЫ]
ADD CONSTRAINT [ВОПРОСЫ_fk] FOREIGN KEY ([IDTheme]) 
  REFERENCES [dbo].[ТЕМЫ] ([ID]) 
  ON UPDATE NO ACTION
  ON DELETE NO ACTION
GO

ALTER TABLE [dbo].[ЗАДАННЫЕ ВОПРОСЫ]
ADD CONSTRAINT [FK_ЗАДАННЫЕ ВОПРОСЫ_КОНТРОЛЬНЫЕ ТОЧКИ] FOREIGN KEY ([idKontrol_tochka]) 
  REFERENCES [dbo].[КОНТРОЛЬНЫЕ ТОЧКИ] ([ID]) 
  ON UPDATE NO ACTION
  ON DELETE NO ACTION
GO

ALTER TABLE [dbo].[КОНТРОЛЬНЫЕ ТОЧКИ]
ADD CONSTRAINT [FK_РЕЗУЛЬТАТЫ ТЕСТИРОВАНИЯ_ВАРИАНТЫ ОТВЕТОВ] FOREIGN KEY ([DataCdachi]) 
  REFERENCES [dbo].[ВАРИАНТЫ ОТВЕТОВ] ([ID]) 
  ON UPDATE NO ACTION
  ON DELETE NO ACTION
GO

ALTER TABLE [dbo].[КОНТРОЛЬНЫЕ ТОЧКИ]
ADD CONSTRAINT [РЕЗУЛЬТАТЫ ТЕСТИРОВАНИЯ_fk] FOREIGN KEY ([IDStudenta]) 
  REFERENCES [dbo].[СТУДЕНТЫ] ([ID]) 
  ON UPDATE NO ACTION
  ON DELETE NO ACTION
GO

ALTER TABLE [dbo].[ОТВЕТЫ СТУДЕНТОВ]
ADD CONSTRAINT [FK_ОТВЕТЫ СТУДЕНТОВ_ВАРИАНТЫ ОТВЕТОВ] FOREIGN KEY ([idVariantaOtveta]) 
  REFERENCES [dbo].[ВАРИАНТЫ ОТВЕТОВ] ([ID]) 
  ON UPDATE NO ACTION
  ON DELETE NO ACTION
GO

ALTER TABLE [dbo].[ОТВЕТЫ СТУДЕНТОВ]
ADD CONSTRAINT [FK_ОТВЕТЫ СТУДЕНТОВ_ЗАДАННЫЕ ВОПРОСЫ] FOREIGN KEY ([idVariantaOtveta]) 
  REFERENCES [dbo].[ЗАДАННЫЕ ВОПРОСЫ] ([id]) 
  ON UPDATE NO ACTION
  ON DELETE NO ACTION
GO

ALTER TABLE [dbo].[СТУДЕНТЫ]
ADD CONSTRAINT [FK_СТУДЕНТЫ_ГРУППЫ] FOREIGN KEY ([IDGruppa]) 
  REFERENCES [dbo].[ГРУППЫ] ([id]) 
  ON UPDATE NO ACTION
  ON DELETE NO ACTION
GO
...
Рейтинг: 0 / 0
Нужно объективное мнение на счет схемы БД!
    #35792410
Фотография Паганель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Рекомендую обратиться в соответствующий форум: Проектирование БД
...
Рейтинг: 0 / 0
Нужно объективное мнение на счет схемы БД!
    #35792417
Фотография DeColo®es
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1) Объективного мнения быть не может.
Объективно - это работает/не работает.
А мнение всегды субъективно по своей сути.

2) Оценивать схему без более-менее подробной задачи почти бесмысленно.
(например, контрольные точки - шо за зверь? )

3) Избегайте русских имен таблиц.
И вообще, любых идентификаторов, которые приходится брать в [] или "" - намучаетесь. ;)

4) При создании констрейнов нужно задавать нормальные имена, а не "по умолчанию" типа PK__РЕЗУЛЬТАТЫ ТЕСТИ__108B795B

5) Смешение правил именования столбцов - где-то с большой буквы, где-то с маленькой (и прочее)

6) В форум по проектированию уже рекомендовали зайти.
На данном этапе оптимизация под конкретно MSSQL вряд ли остро необходима. :)

Модератор: Тема перенесена из форума "Microsoft SQL Server".
...
Рейтинг: 0 / 0
Нужно объективное мнение на счет схемы БД!
    #35792744
snake00
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DeColo®esнапример, контрольные точки - шо за зверь?
Это своего рода лог вариантов ответов студентов
...
Рейтинг: 0 / 0
Нужно объективное мнение на счет схемы БД!
    #35792750
Mainframe_старый
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если это лабораторная работа или курсовая, то пойдет все, что угодно. Если это серьезная работа, то тут вообще обсуждать нечего.
...
Рейтинг: 0 / 0
Нужно объективное мнение на счет схемы БД!
    #35827114
vinger4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А почему в "Контрольных точках" нет атрибута ИД варианта ответа? он ведь должен по ключу придти?
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Нужно объективное мнение на счет схемы БД!
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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