powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Вопрос по проектированию и ключам
4 сообщений из 4, страница 1 из 1
Вопрос по проектированию и ключам
    #36511513
voffka-mc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте.

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

В итоге у меня получилось 7 таблиц:
company - информация о компании
kontakt - контактные лица
otdel - отдел
users - пользотатели
reg - регистрационные данные пользователя
history и plan - соответственно история и планы пользователя.

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

Код: 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.
-- MySQL Administrator dump 1.4
--
-- ------------------------------------------------------
-- Server version	4.1.16-nt


/*!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 */;

/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;


--
-- Create schema crm
--

CREATE DATABASE /*!32312 IF NOT EXISTS*/ crm;
USE crm;

DROP TABLE IF EXISTS `company`;
CREATE TABLE `company` (
  `id_comp` int( 10 ) unsigned NOT NULL auto_increment,
  `name_comp` varchar( 255 ) NOT NULL default '',
  `strana` varchar( 25 ) NOT NULL default '',
  `adres` varchar( 25 ) NOT NULL default '',
  `gorod` varchar( 25 ) NOT NULL default '',
  `region` varchar( 25 ) NOT NULL default '',
  `fax` varchar( 20 ) NOT NULL default '',
  `www` varchar( 15 ) NOT NULL default '',
  `reg` datetime NOT NULL default '0000-00-00 00:00:00',
  `user` varchar( 45 ) NOT NULL default '',
  PRIMARY KEY  (`id_comp`),
  KEY `fk_company_kontakt1` (`id_comp`),
  KEY `fk_company_history1` (`id_comp`),
  KEY `fk_company_plan1` (`id_comp`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

/*!40000 ALTER TABLE `company` DISABLE KEYS */;
/*!40000 ALTER TABLE `company` ENABLE KEYS */;


DROP TABLE IF EXISTS `history`;
CREATE TABLE `history` (
  `id_comp` int( 10 ) unsigned NOT NULL default '0',
  `id_hist` int( 10 ) unsigned NOT NULL auto_increment,
  `id_otd` int( 10 ) unsigned NOT NULL default '0',
  `id_users` int( 10 ) unsigned NOT NULL default '0',
  `text` varchar( 255 ) NOT NULL default '',
  `dat` datetime NOT NULL default '0000-00-00 00:00:00',
  `budilnik` varchar( 45 ) NOT NULL default '',
  PRIMARY KEY  (`id_hist`,`id_comp`,`id_otd`,`id_users`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

/*!40000 ALTER TABLE `history` DISABLE KEYS */;
/*!40000 ALTER TABLE `history` ENABLE KEYS */;


DROP TABLE IF EXISTS `kontakt`;
CREATE TABLE `kontakt` (
  `id_comp` int( 10 ) unsigned NOT NULL default '0',
  `fio` varchar( 75 ) NOT NULL default '',
  `dolgn` varchar( 45 ) NOT NULL default '',
  `otdel` varchar( 50 ) NOT NULL default '',
  `tel` varchar( 45 ) NOT NULL default '',
  `email` varchar( 45 ) NOT NULL default '',
  PRIMARY KEY  (`id_comp`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

/*!40000 ALTER TABLE `kontakt` DISABLE KEYS */;
/*!40000 ALTER TABLE `kontakt` ENABLE KEYS */;


DROP TABLE IF EXISTS `otdel`;
CREATE TABLE `otdel` (
  `id_otd` int( 10 ) unsigned NOT NULL auto_increment,
  `otdel` varchar( 45 ) NOT NULL default '',
  PRIMARY KEY  (`id_otd`),
  KEY `fk_otdel_users` (`id_otd`),
  KEY `fk_otdel_plan1` (`id_otd`),
  KEY `fk_otdel_history1` (`id_otd`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

/*!40000 ALTER TABLE `otdel` DISABLE KEYS */;
/*!40000 ALTER TABLE `otdel` ENABLE KEYS */;


DROP TABLE IF EXISTS `plan`;
CREATE TABLE `plan` (
  `id_plan` int( 10 ) unsigned NOT NULL auto_increment,
  `id_comp` int( 10 ) unsigned NOT NULL default '0',
  `id_otd` int( 10 ) unsigned NOT NULL default '0',
  `id_users` int( 10 ) unsigned NOT NULL default '0',
  `type` varchar( 25 ) NOT NULL default '',
  `dat` datetime NOT NULL default '0000-00-00 00:00:00',
  `text` varchar( 255 ) NOT NULL default '',
  PRIMARY KEY  (`id_plan`,`id_comp`,`id_otd`,`id_users`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

/*!40000 ALTER TABLE `plan` DISABLE KEYS */;
/*!40000 ALTER TABLE `plan` ENABLE KEYS */;


DROP TABLE IF EXISTS `reg`;
CREATE TABLE `reg` (
  `idreg` int( 10 ) unsigned NOT NULL auto_increment,
  `md5` varchar( 20 ) NOT NULL default '',
  `name` varchar( 45 ) NOT NULL default '',
  `pass` varchar( 45 ) NOT NULL default '',
  PRIMARY KEY  (`idreg`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

/*!40000 ALTER TABLE `reg` DISABLE KEYS */;
/*!40000 ALTER TABLE `reg` ENABLE KEYS */;


DROP TABLE IF EXISTS `users`;
CREATE TABLE `users` (
  `user_id` int( 10 ) unsigned NOT NULL auto_increment,
  `user` varchar( 45 ) NOT NULL default '',
  `name` varchar( 45 ) NOT NULL default '',
  `id_otd` int( 10 ) unsigned NOT NULL default '0',
  PRIMARY KEY  (`user_id`,`id_otd`),
  KEY `fk_users_plan1` (`user_id`),
  KEY `fk_users_history1` (`user_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

/*!40000 ALTER TABLE `users` DISABLE KEYS */;
/*!40000 ALTER TABLE `users` ENABLE KEYS */;

/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!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 */;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;

...
Рейтинг: 0 / 0
Вопрос по проектированию и ключам
    #36511909
Фотография Rin@t
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторК сообщению приложен файл. Размер - 26KbУжас.
--------------------------------------------------
Call off your program if you can
...
Рейтинг: 0 / 0
Вопрос по проектированию и ключам
    #36512072
voffka-mc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Rin@tУжас.

Я догадывался. :( А ужас только в ключах, или вообще структура базы неправильна?
...
Рейтинг: 0 / 0
Вопрос по проектированию и ключам
    #36512088
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> Здравствуйте.

И вам не хворать.

> Создаю примитивную CRM систему для своего офиса

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


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