powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / База для сайта
17 сообщений из 17, страница 1 из 1
База для сайта
    #36731896
schizophrenic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
правильно?
...
Рейтинг: 0 / 0
База для сайта
    #36732041
Фотография Rin@t
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
schizophrenicправильно?Неа. Нифига непонятно, если честно .


ps. Связь между "документами" и "ключевыми словами" многое-ко-многим. Не?
...
Рейтинг: 0 / 0
База для сайта
    #36732081
schizophrenic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
База для сайта
    #36732116
schizophrenic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Rin@t,

судя по вашим обсуждениям на данном форуме, мнение в расчет не беру...
...
Рейтинг: 0 / 0
База для сайта
    #36732156
Фотография Rin@t
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
schizophrenicRin@t,

судя по вашим обсуждениям на данном форуме, мнение в расчет не беру...Зря . На вопросик-то можно было ответить? Подумайте.

Rin@tСвязь между "документами" и "ключевыми словами" многое-ко-многим. Не?
...
Рейтинг: 0 / 0
База для сайта
    #36732197
schizophrenic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Rin@tмногое-ко-многимнет, а зачем?
...
Рейтинг: 0 / 0
База для сайта
    #36732211
Фотография Rin@t
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
schizophrenicRin@tмногое-ко-многимнет, а зачем?В моём понимании одни и те же ключевые слова могут повторяться для разных документов.
...
Рейтинг: 0 / 0
База для сайта
    #36732212
schizophrenic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
База для сайта
    #36732218
schizophrenic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Rin@tschizophrenicRin@tмногое-ко-многимнет, а зачем?В моём понимании одни и те же ключевые слова могут повторяться для разных документов.
а разве данная модель отрицает это?
...
Рейтинг: 0 / 0
База для сайта
    #36732226
schizophrenic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
обратите внимание на структуру таблицы дат и обращения к ним,
применение внешних ключей не противоречит вашим понятиям

DDL - 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.
DROP TABLE IF EXISTS BASE.Documents;
DROP TABLE IF EXISTS BASE.Authors;
DROP TABLE IF EXISTS BASE.Descriptions;
DROP TABLE IF EXISTS BASE.Keywords;
DROP TABLE IF EXISTS BASE.Titles;
DROP TABLE IF EXISTS BASE.Bodys;
DROP TABLE IF EXISTS BASE.Status;
DROP TABLE IF EXISTS BASE.Groups;
DROP TABLE IF EXISTS BASE.Dates;
DROP TABLE IF EXISTS BASE.Attributes;

CREATE TABLE IF NOT EXISTS BASE.Attributes(
	ID INT( 16 ) NOT NULL AUTO_INCREMENT,
	Value ENUM('visible', 'hidden') NOT NULL,
	PRIMARY KEY (ID),
	INDEX ID_Attributes (Value)
) ENGINE = INNODB;

CREATE TABLE IF NOT EXISTS BASE.Dates(
	ID INT( 16 ) NOT NULL AUTO_INCREMENT,
	Value TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
	PRIMARY KEY (ID),
	INDEX ID_Dates (Value)
) ENGINE = INNODB;

CREATE TABLE IF NOT EXISTS BASE.Groups(
	ID INT( 16 ) NOT NULL AUTO_INCREMENT,
	Value ENUM('guest', 'manager', 'user') NOT NULL,
	PRIMARY KEY (ID),
	INDEX ID_Groups (Value)
) ENGINE = INNODB;

CREATE TABLE IF NOT EXISTS BASE.Status(
	ID INT( 16 ) NOT NULL AUTO_INCREMENT,
	Value ENUM('on', 'off') NOT NULL,
	PRIMARY KEY (ID),
	INDEX ID_Status (Value)
) ENGINE = INNODB;

CREATE TABLE IF NOT EXISTS BASE.Bodys(
	ID INT( 16 ) NOT NULL AUTO_INCREMENT,
	Value MEDIUMTEXT NOT NULL,
	PRIMARY KEY (ID)
) ENGINE = INNODB;

CREATE TABLE IF NOT EXISTS BASE.Titles(
	ID INT( 16 ) NOT NULL AUTO_INCREMENT,
	Value VARCHAR( 64 ) NOT NULL,
	PRIMARY KEY (ID),
	INDEX ID_Titles (Value)
) ENGINE = INNODB;

CREATE TABLE IF NOT EXISTS BASE.Keywords(
	ID INT( 16 ) NOT NULL AUTO_INCREMENT,
	Value VARCHAR( 128 ) NOT NULL,
	PRIMARY KEY (ID),
	INDEX ID_Keywords (Value)
) ENGINE = INNODB;

CREATE TABLE IF NOT EXISTS BASE.Descriptions(
	ID INT( 16 ) NOT NULL AUTO_INCREMENT,
	Value VARCHAR( 128 ) NOT NULL,
	PRIMARY KEY (ID),
	INDEX ID_Descriptions (Value)
) ENGINE = INNODB;

CREATE TABLE IF NOT EXISTS BASE.Authors(
	ID INT( 16 ) NOT NULL AUTO_INCREMENT,
	Name VARCHAR( 64 ) NOT NULL,
	Password VARCHAR( 64 ) NOT NULL,
	ID_Authorized INT( 16 ) NOT NULL,
	ID_Blocked INT( 16 ) NOT NULL,
	ID_Groups INT( 16 ) NOT NULL,
	ID_Status INT( 16 ) NOT NULL,
	PRIMARY KEY (ID),
	INDEX ID_Authors (Name)
) ENGINE = INNODB;

CREATE TABLE IF NOT EXISTS BASE.Documents(
	ID INT( 16 ) UNSIGNED NOT NULL AUTO_INCREMENT,
	PID INT( 16 ) NOT NULL,
	Name VARCHAR( 32 ) NOT NULL,
	ID_Author INT( 16 ) NOT NULL,
	ID_Description INT( 16 ) NOT NULL,
	ID_Keyword INT( 16 ) NOT NULL,
	ID_Title INT( 16 ) NOT NULL,
	ID_Body INT( 16 ) NOT NULL,
	ID_Created INT( 16 ) NOT NULL,
	ID_Changed INT( 16 ) NOT NULL,
	ID_Attribute INT( 16 ) NOT NULL,
	PRIMARY KEY (ID),

	INDEX ID_Authors (ID_Author),
	INDEX ID_Descriptions (ID_Description),
	INDEX ID_Keywords (ID_Keyword),
	INDEX ID_Titles (ID_Title),
	INDEX ID_Bodys (ID_Body),
	INDEX ID_Createds (ID_Created),
	INDEX ID_Changeds (ID_Changed),
	INDEX ID_Attributes (ID_Attribute),

	CONSTRAINT ID_Author FOREIGN KEY (ID_Author)
	REFERENCES BASE.authors (ID) ON UPDATE CASCADE,

	CONSTRAINT ID_Descriptions FOREIGN KEY (ID_Description)
	REFERENCES BASE.descriptions (ID) ON UPDATE CASCADE,

	CONSTRAINT ID_Keywords FOREIGN KEY (ID_Keyword)
	REFERENCES BASE.keywords (ID) ON UPDATE CASCADE,

	CONSTRAINT ID_Titles FOREIGN KEY (ID_Title)
	REFERENCES BASE.titles (ID) ON UPDATE CASCADE,

	CONSTRAINT ID_Bodys FOREIGN KEY (ID_Body)
	REFERENCES BASE.bodys (ID) ON UPDATE CASCADE,

	CONSTRAINT ID_Createds FOREIGN KEY (ID_Created)
	REFERENCES BASE.Dates (ID) ON UPDATE CASCADE,

	CONSTRAINT ID_Changeds FOREIGN KEY (ID_Changed)
	REFERENCES BASE.Dates (ID) ON UPDATE CASCADE,

	CONSTRAINT ID_Attributes FOREIGN KEY (ID_Attribute)
	REFERENCES BASE.Attributes (ID) ON UPDATE CASCADE

) ENGINE = INNODB;

INSERT INTO BASE.Attributes (id, value) VALUES
( 1 , 'visible'), ( 2 , 'hidden');

INSERT INTO BASE.Dates (id, value) VALUES
( 1 , '15.07.2010'), ( 2 , '16.07.2010');

INSERT INTO BASE.Groups (id, value) VALUES
( 1 , 'guest'), ( 2 , 'manager'), ( 3 , 'user');

INSERT INTO BASE.Status (id, value) VALUES
( 1 , 'on'), ( 2 , 'off');

INSERT INTO BASE.Bodys (id, value) VALUES
( 1 , 'about Body'), ( 2 , 'help Body'), ( 3 , 'faq Body');

INSERT INTO BASE.Titles (id, value) VALUES
( 1 , 'about Title'), ( 2 , 'help Title'), ( 3 , 'faq Title');

INSERT INTO BASE.Keywords (id, value) VALUES
( 1 , 'about Keyword'), ( 2 , 'help Keyword'), ( 3 , 'faq Keyword');

INSERT INTO BASE.Descriptions (id, value) VALUES
( 1 , 'about Description'), ( 2 , 'help Description'), ( 3 , 'faq Description');

INSERT INTO BASE.Authors (id, Name, Password, ID_Authorized, ID_Blocked,
ID_Groups, ID_Status) VALUES
( 1 , 'user 1', SHA('pass 1'), '1', '', '1', '1'),
( 2 , 'user 2', SHA('pass 2'), '2', '', '2', '1');

INSERT INTO BASE.Documents (id, PID, Name, ID_Author, ID_Description,
ID_Keyword, ID_Title, ID_Body, ID_Created, ID_Changed, ID_Attribute) VALUES
( 1 ,  1 , 'about',  1 ,  1 ,  1 ,  1 ,  1 ,  1 ,  2 ,  1 ),
( 2 ,  1 , 'help',  2 ,  2 ,  2 ,  2 ,  2 ,  1 ,  2 ,  1 ),
( 3 ,  1 , 'faq',  1 ,  3 ,  3 ,  3 ,  3 ,  1 ,  2 ,  1 );

SELECT
	Authors.Name AS Author,
	Descriptions.Value AS Description,
	Keywords.Value AS Keyword,
	Titles.Value AS Title,
	Bodys.Value AS Body,
	Dates.Value AS Created,
	Dates.Value AS Changed
FROM
	BASE.Documents
	LEFT OUTER JOIN BASE.Authors
		ON Authors.ID = Documents.ID_Author
	LEFT OUTER JOIN BASE.Descriptions
		ON Descriptions.ID = Documents.ID_Description
	LEFT OUTER JOIN BASE.Keywords
		ON Keywords.ID = Documents.ID_Keyword
	LEFT OUTER JOIN BASE.Titles
		ON Titles.ID = Documents.ID_Title
	LEFT OUTER JOIN BASE.Bodys
		ON Bodys.ID = Documents.ID_Body
	LEFT OUTER JOIN BASE.Attributes
		ON Attributes.ID = Documents.ID_Attribute
	LEFT OUTER JOIN BASE.Dates
		ON Dates.ID = Documents.ID_Created
		AND Dates.ID = Documents.ID_Changed
WHERE
	Documents.Name = 'help' AND
	Attributes.Value = 'visible'
...
Рейтинг: 0 / 0
База для сайта
    #36732238
Фотография Rin@t
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
schizophrenicRin@tschizophrenicRin@t многое-ко-многим нет, а зачем?В моём понимании одни и те же ключевые слова могут повторяться для разных документов.
а разве данная модель отрицает это?Она допускает ввод повторяющих данных в таблицу ключевых слов. Оно вам надо?
...
Рейтинг: 0 / 0
База для сайта
    #36732241
egorych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
schizophrenicRin@tмногое-ко-многимнет, а зачем?документ характеризуется только одним ключевым словом? если да, то незачем, если нет, то нужны многие-ко-многим.
...
Рейтинг: 0 / 0
База для сайта
    #36732248
schizophrenic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
egorychесли да, то незачемкак понимать незачем?
...
Рейтинг: 0 / 0
База для сайта
    #36732258
Фотография Rin@t
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
egorychschizophrenicRin@tмногое-ко-многимнет, а зачем?документ характеризуется только одним ключевым словом? если да, то незачем, если нет, то нужны многие-ко-многим.Затем выяснится, что и связь "авторы-документы" - n:m.
...
Рейтинг: 0 / 0
База для сайта
    #36732438
egorych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
schizophrenicegorychесли да, то незачемкак понимать незачем?понимать в смысле, что можно оставить один-ко-многим
Rin@tЗатем выяснится, что и связь "авторы-документы" - n:m.+1 более чем возможная ситуация
...
Рейтинг: 0 / 0
База для сайта
    #36732866
egorych,

а что такое n:m?
...
Рейтинг: 0 / 0
База для сайта
    #36732906
egorych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
userman_from_prom_xromegorych,

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


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