Модераторы: skyboy

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Управление IT отделом, архитектура БД 
V
    Опции темы
Prontit
  Дата 4.5.2012, 09:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 87
Регистрация: 19.10.2011

Репутация: нет
Всего: 1



Здравствуйте!

Необходимо написать приложение для управление IT отделом, а именно: учет компьютеров (железо, ОС), офисной техники, заправки картриджей и т.д. Накидал таблички. Подскажите, пожалуйста, все ли сделал правильно, есть ли слабые места, и как можно оптимизировать. 

Краткое описание:

В таблице department содержится список отделов.
В таблице workplace содержится список рабочих месте (абстрактное понятие, к нему прикрепляется компьютер, монитор, если это не ноутбук и другая техника). К одному рабочему месту может быть прикреплен только один компьютер, один монитор и несколько другие устройств (сканер, принтер, факс).
Таблица monitors содержится список мониторов, они прикрепляются к workplace
Таблица computers содержится список компьютеров, они прикрепляются к workplace
Таблица prisca содержится список принтеров/сканеров, они прикрепляются к workplace
В таблицу cartridges ведется учет о заправленных картриджах, имеется ссылка на принтер в таблице prisca
Таблица logpass содержит логины/пароли от icq, skype, почте и других программах, имеется ссылка на компьютер в таблице computers
Таблица phones содержит список телефонов, они закреплены за отделами, таблица department 

user posted image

Спасибо!

PM MAIL ICQ Skype   Вверх
Zloxa
Дата 4.5.2012, 09:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чо?
****


Профиль
Группа: Завсегдатай
Сообщений: 3473
Регистрация: 12.9.2008

Репутация: 33
Всего: 161



Цитата(Prontit @  4.5.2012,  10:07 Найти цитируемый пост)
Таблица logpass содержит логины/пароли от icq, skype, почте и других программах, имеется ссылка на компьютер в таблице computers

Т.е. ася,запущеная на другом компе будет требовать другой пароль? smile 
Цитата(Prontit @  4.5.2012,  10:07 Найти цитируемый пост)
Таблица prisca содержится список принтеров/сканеров, они прикрепляются к workplace

сетевых принтеров у вас нет?

Вообще - с какой целью организуется учет? Ради учета? Или ради отчета?
Если первое, то пофиг какая структура.
Если второе, то идти надо от списка отчетов, а не от структуры. Вы же приложили структуру, а о цели, ради которой вся затея - не упомянули. Просто поупражняться? Для упражнений структура вполне сойдет, впрочем, как и любая другая.



--------------------
Достоверно известно, что 89% людей доверяют статистике взятой с потолка smile
PM   Вверх
Prontit
Дата 4.5.2012, 09:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 87
Регистрация: 19.10.2011

Репутация: нет
Всего: 1



Цитата(Zloxa @  4.5.2012,  09:45 Найти цитируемый пост)
Т.е. ася,запущеная на другом компе будет требовать другой пароль?  

нет конечно))) просто дело в том, что за конкретным компьютером закреплен конкретный номер ICQ, и чтобы в случае, если там слетит аська, или система, можно было по ip или инвентаризационному номеру узнать какой там номер аськи и соответственно пароль.

Цитата(Zloxa @  4.5.2012,  09:45 Найти цитируемый пост)
сетевых принтеров у вас нет?

нет, все принтеры закреплены за рабочим местом, и просто расшарины для остальных. если были бы сетервые, логично было бы закреплять их за отделом.

Цитата(Zloxa @  4.5.2012,  09:45 Найти цитируемый пост)
Вообще - с какой целью организуется учет? Ради учета? Или ради отчета?

Учет организуется с целью общих отчетов, например сколько рабочих станций в каждом отделе, сколько принтеров и тд, и более детальных, например, сколько установленных Windows XP по отделам и в общем на предприятии (в таблице computers будет больше отвечающее за ОС). Ну и так же все делается для общей информации, например, узнать телефон отдела, по Ip адресу компьютера узнать отдел, ну и все в этом духе.

Благодарю за ответ!
PM MAIL ICQ Skype   Вверх
Zloxa
Дата 4.5.2012, 10:23 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чо?
****


Профиль
Группа: Завсегдатай
Сообщений: 3473
Регистрация: 12.9.2008

Репутация: 33
Всего: 161



Цитата(Prontit @  4.5.2012,  10:54 Найти цитируемый пост)
сколько установленных Windows XP по отделам

И как этот отчет из вашей структуры можно получить?  smile 

Собсна я потому и гвоорю, что идти надо от отчета  smile 

accnumber это инвентарный номер, я правильно понял? Как вы полагаете обеспечивать его уникальность, если он у вас размазан по разным сущностям?


--------------------
Достоверно известно, что 89% людей доверяют статистике взятой с потолка smile
PM   Вверх
igorold
Дата 4.5.2012, 11:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 557
Регистрация: 22.12.2005
Где: Россия->Урал-& gt;Миасс

Репутация: 5
Всего: 17



Непонятна структура таблицы workplace.

Что она содержит? Собственный индекс и индекс отдела? а смысл?
Почему у department primary индекс по наименованию? а по своему индесу, индекса нет? 


ну и т.д. слабо продумана структура ... видимо опыта маловато ... 


--------------------
... у семи нянек 14 сисек ...  
Putin here, Putin there, Putin almost everywhere!
PM MAIL   Вверх
Prontit
Дата 4.5.2012, 12:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 87
Регистрация: 19.10.2011

Репутация: нет
Всего: 1



Цитата(Zloxa @  4.5.2012,  10:23 Найти цитируемый пост)
accnumber это инвентарный номер, я правильно понял? Как вы полагаете обеспечивать его уникальность, если он у вас размазан по разным сущностям? 

да, это инвентарный номер. ну он прописан как UNIQUE поэтому не может повторяться в таблице. или я не правильно понял вопрос?

Цитата(igorold @  4.5.2012,  11:37 Найти цитируемый пост)
Непонятна структура таблицы workplace.

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

Цитата(igorold @  4.5.2012,  11:37 Найти цитируемый пост)
Почему у department primary индекс по наименованию? а по своему индесу, индекса нет? 

почему же, по своему индексу так же проиндексировано. 

Цитата(igorold @  4.5.2012,  11:37 Найти цитируемый пост)
ну и т.д. слабо продумана структура ... видимо опыта маловато ...  

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

Если мне нужно:
-хранить информацию об отделах
-хранить информацию о компьютерах (закрепленных за отделами)
-информацию о логинах/паролях на ПО (закрепленную за компьютерами)

, и вытаскивать соответствующие отчеты, как тогда необходимо построить БД?

Благодарю за ответ!
PM MAIL ICQ Skype   Вверх
igorold
Дата 4.5.2012, 12:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 557
Регистрация: 22.12.2005
Где: Россия->Урал-& gt;Миасс

Репутация: 5
Всего: 17



Если у таблицы workplace нет других полей, то она просто дублирует таблицу department, т.е. в таблицах, которые на нее ссылаются с таким же успехом можно написать вместо workplace_id - department_id


--------------------
... у семи нянек 14 сисек ...  
Putin here, Putin there, Putin almost everywhere!
PM MAIL   Вверх
Prontit
Дата 4.5.2012, 12:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 87
Регистрация: 19.10.2011

Репутация: нет
Всего: 1



Цитата(igorold @  4.5.2012,  12:21 Найти цитируемый пост)
Если у таблицы workplace нет других полей, то она просто дублирует таблицу department, т.е. в таблицах, которые на нее ссылаются с таким же успехом можно написать вместо workplace_id - department_id


мне нужно как то объединять оборудование в группы, например Монитор с номеров 10000 завязан с Системным блоком с номеров 123654 и с принтером 456321. поэтому я и объединяю это в "рабочее место", иначе, если завязать все на отделе, то получится что там 10 мониторов, 10 компов 5 принтеров и не понятно что с чем стоит
PM MAIL ICQ Skype   Вверх
igorold
Дата 4.5.2012, 12:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 557
Регистрация: 22.12.2005
Где: Россия->Урал-& gt;Миасс

Репутация: 5
Всего: 17



А, понял, - рабочее место ... ну тогда добавь в таблицу workplace еще поле, типа наименование рабочего места, тогда эта таблица будет иметь больше смысла.

Добавлено через 3 минуты и 30 секунд
как-то будет же необходимо идентифицировать рабочее место - типа:

комп. гл.бух
комп 1 комн.33
комп 2 комн 33

и т.п.

Добавлено через 8 минут и 11 секунд
А почему нет таблицы сотрудников в этой структуре?


--------------------
... у семи нянек 14 сисек ...  
Putin here, Putin there, Putin almost everywhere!
PM MAIL   Вверх
Prontit
Дата 4.5.2012, 12:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 87
Регистрация: 19.10.2011

Репутация: нет
Всего: 1



Цитата(igorold @  4.5.2012,  12:26 Найти цитируемый пост)
А, понял, - рабочее место ... ну тогда добавь в таблицу workplace еще поле, типа наименование рабочего места, тогда эта таблица будет иметь больше смысла. 

ну это да, для других таблиц так же добавлю информацию.
Можете подсказать с запросом, если я буду знать Ip компьютера, как мне узнать инвентарный номер допустим принтера, который находится на этом же рабочем месте?

Цитата(igorold @  4.5.2012,  12:26 Найти цитируемый пост)
А почему нет таблицы сотрудников в этой структуре? 

нет такой необходимости. изначально цель стояла так - учет лицензионного ПО, но потом подумали и решили что будет удобно и телефоны отделов хранить раз уж их всех записаоли, ну и пароли с логинами, чтоб если что, восстановить можно было быстро. если добавить сотрудников, будет через чур "масштабно", но ради интересно можно конечно. Вы можете дать какой-нибудь пример ХОРОШо спроектированной БД такого типа?

Это сообщение отредактировал(а) Prontit - 4.5.2012, 12:38
PM MAIL ICQ Skype   Вверх
Zloxa
Дата 4.5.2012, 12:42 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чо?
****


Профиль
Группа: Завсегдатай
Сообщений: 3473
Регистрация: 12.9.2008

Репутация: 33
Всего: 161



Цитата(Prontit @  4.5.2012,  13:13 Найти цитируемый пост)
да, это инвентарный номер. ну он прописан как UNIQUE поэтому не может повторяться в таблице. или я не правильно понял вопрос?

Инвентарные номера мониторов и компьютеров могут пересекаться?

Цитата(Prontit @  4.5.2012,  13:34 Найти цитируемый пост)
Можете подсказать с запросом, если я буду знать Ip компьютера, как мне узнать инвентарный номер допустим принтера, который находится на этом же рабочем месте? 

Ваша структура предполагает что на одном рабочем месте могут быть несколкьо комьютеров и несколько принтеров. smile


--------------------
Достоверно известно, что 89% людей доверяют статистике взятой с потолка smile
PM   Вверх
igorold
Дата 4.5.2012, 12:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 557
Регистрация: 22.12.2005
Где: Россия->Урал-& gt;Миасс

Репутация: 5
Всего: 17



Код

select prisca.accnumber from computers left join prisca on computers.workplace_id=prisca.workplace_id where computers.ip='ip компьютера'; 



--------------------
... у семи нянек 14 сисек ...  
Putin here, Putin there, Putin almost everywhere!
PM MAIL   Вверх
Prontit
Дата 4.5.2012, 12:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 87
Регистрация: 19.10.2011

Репутация: нет
Всего: 1



Цитата(Zloxa @  4.5.2012,  12:42 Найти цитируемый пост)
Инвентарные номера мониторов и компьютеров могут пересекаться?

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


Цитата(Zloxa @  4.5.2012,  12:42 Найти цитируемый пост)
Ваша структура предполагает что на одном рабочем месте могут быть несколкьо комьютеров и несколько принтеров. 

такого быть не может, ведь workplace_id является уникальным

Добавлено через 52 секунды
Цитата(igorold @  4.5.2012,  12:43 Найти цитируемый пост)
код SQL
1:
select prisca.accnumber from computers left join prisca on computers.workplace_id=prisca.workplace_id where computers.ip='ip компьютера';


Благодарю!
PM MAIL ICQ Skype   Вверх
Zloxa
Дата 4.5.2012, 13:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чо?
****


Профиль
Группа: Завсегдатай
Сообщений: 3473
Регистрация: 12.9.2008

Репутация: 33
Всего: 161



Цитата(Prontit @  4.5.2012,  13:45 Найти цитируемый пост)
такого быть не может, ведь workplace_id является уникальным

Да, но принтеры и компьютеры связаны с воркспйсом один ко многим - нет?
Получается на одном рабочем месте может находиться несколко компьютеров, несколкьо мониторов и несколько принтеров.
И принтеры  с компьютерами состоят в отошении многие ко многим.

Это сообщение отредактировал(а) Zloxa - 4.5.2012, 13:12


--------------------
Достоверно известно, что 89% людей доверяют статистике взятой с потолка smile
PM   Вверх
Prontit
Дата 4.5.2012, 13:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 87
Регистрация: 19.10.2011

Репутация: нет
Всего: 1



Цитата(Zloxa @  4.5.2012,  13:11 Найти цитируемый пост)
а, но принтеры и компьютеры связаны с воркспйсом один ко многим - нет?
Получается на одном рабочем месте может находиться несколко компьютеров, несколкьо мониторов и несколько принтеров. 

да, тут ошибся. спасибо! поправлю. а вы не знаете где можно посмотреть пример спроектированной БД такого типа?
PM MAIL ICQ Skype   Вверх
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MySQL | Следующая тема »


 




[ Время генерации скрипта: 0.0894 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.