Форум программистов, компьютерный форум, киберфорум
Наши страницы

Базы данных

Войти
Регистрация
Восстановить пароль
 
forrest
0 / 0 / 0
Регистрация: 09.08.2007
Сообщений: 23
#1

Покажите ссылку с примерами - Базы данных

09.08.2007, 17:17. Просмотров 750. Ответов 4
Метки нет (Все метки)

Народ покажите ссылку с примерами инфологических моделей.
У меня есть база предприятий. У каждого предприятия куча подразделений. У каждого подразделения куча должностей. У каждой должности куча обязанностей. На каждую обязанность наложено куча ответственностей. Получается чем дальше, тем больше данных. Как правильно сформировать БД???
Ведь под каждое предприятие надо делать свою БД или хотя бы что-то типа каталога где хранить.
Как быть???
Понятно что надо завести отдельно таблицу предприятий, подразделений, должностей и т.д. Но если в таблице хранить несколько предприятий(порядка 200), то запросы будут обрабатываться чёрт знает сколько времени.
Я новичок в этом деле. Может быть не очень понятно объяснил. Задавайте вопросы.
Жду помощи.. Большое Спасибо всем кто примет участие и даст совет.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.08.2007, 17:17
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Покажите ссылку с примерами (Базы данных):

Покажите 3 таблицу для бд - Базы данных
Надо создать бд на политическую тему. Нужно 3 таблицы, связанные между собой. Вначале у меня было 3 таблицы: страна, должность, данные о...

Книги с примерами для новичка по БД - Базы данных
Посоветуйте книгу с которой можно нормально начатиь изучение баз данных. Желательно чтобы в книге присутствовали примеры и она не была...

Дайте ссылку с примерами или сами примеры работы с ячейками в Excel - Visual Basic .NET
Народ, дайте ссылку с примерами или сами примеры работы с ячейками в Екселе из VB.Net 2010. Но в первую очередь прошу разобраться с...

Как в adobe flash сделать ссылку на другой .swf файл? Не интернет ссылку,а простую ссылку на другой файл! - ActionScript
Помогите!!! Как в adobe flash сделать ссылку на другой .swf файл? Не интернет ссылку,а простую ссылку на другой файл!

Пользователь в окошко вводит ссылку А, из нее нужно сделать ссылку B - PHP
Помогите решить задачу Мы вводим на странице в окошке ссылку( например https://www.youtube.com/watch?v=8dk-PYzdX74). Далее она должна...

При клике на ссылку в WebBrowser открыть ссылку в браузере по умолчанию - Visual Basic .NET
Собственно тема. Можно ли как-то такое осуществить?

4
AndreP
0 / 0 / 1
Регистрация: 22.07.2007
Сообщений: 260
09.08.2007, 19:05 #2
Создай сначала справочные таблицы для всех сущностей, например для предприятий
SQL
1
2
3
4
5
CREATE TABLE Firms (
    firm_id INT PRIMARY KEY,-- первичный ключ
    firm_descr VARCHAR(64) NOT NULL,-- название предприятия
    ...     -- другие поля
)
Введи справочные данные.
Затем создай Одну (!!!) таблицу хранения данных об ответственностях обязанностей должностей подразделений предприятий
SQL
1
2
3
4
5
6
7
CREATE TABLE Liabilites(
    l_id INT PRIMARY KEY,   -- первичный ключ
    firm_id INT REFERENCES Firms(firm_id),  -- ссылка на предприятие
    div_id INT REFERENCES Divisions(div_id),-- ссылка на подразделение
    ... -- и т.д.
    l_descr VARCHAR(64) NOT NULL -- название ответственности
)
Теперь чтобы узнать ответственности для предприятия Ника, подразделения Отдел кадров, всех должностей и обязанностей можно использовать запрос типа
SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
SELECT 
    firm_descr,
    div_descr,
    ...
    l_descr
FROM 
    Firms f,
    Divisions d,
    ...     
    Liabilites l
WHERE
    l.firm_id = f.firm_id AND
    l.div_id = d.div_id AND
    ...
    f.firm_descr = 'Ника' AND
    d.div_descr = 'Отдел кадров'
ORDER BY        
    firm_descr, div_descr, ..., l_descr
0
forrest
0 / 0 / 0
Регистрация: 09.08.2007
Сообщений: 23
09.08.2007, 19:16  [ТС] #3
Спасибо за ответ.
Это всё понятно. Дело в том, что если в каждом предприятии 20 подразделений. В каждом подразделении по 10 должностей и для каждой должности по 50 ответственностей, а ещё предприятий штук 200, то получается что всего в конечной БД ответственностей мы получим 20*10*50*200 и это при самом минимальном раскладе.А если на каждую ответсвенность налагать по паре десятков всяких отчётов ,то цифра получится в районе 40000000 (сорок миллионов).
Я хочу знать можно ли задать какую-нибудь такую структуру БД, чтобы формирование отчёта (хотя бы)
по одной должности занимало минимум времени. Хотелось бы для каждого предприятия создавать отдельный каталог с миниатюрной БД.
Спасибо за следующий совет.
0
AndreP
0 / 0 / 1
Регистрация: 22.07.2007
Сообщений: 260
09.08.2007, 20:00 #4
Не на всех предприятиях будут все должности, подразделения и т.д. Кроме того если данных много, то надо использовать SQL Server и проиндексировать таблицу с данными. Тогда отчет будет делаться в секунды. А бить данные по разным базам бессмысленно.
0
forrest
0 / 0 / 0
Регистрация: 09.08.2007
Сообщений: 23
09.08.2007, 20:52  [ТС] #5
ПОлагаюсь на твой Опыт AndreP. Sql Server и будет использоваться, проиндексировать это не проблема. Попробую отвечу...
0
09.08.2007, 20:52
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.08.2007, 20:52
Привет! Вот еще темы с ответами:

Как симулировать нажатие на ссылку, если не заводить саму ссылку? - JavaScript
Почему-то window.open('url', '_blank') дает немного другой результат, чем открытие окна по нажатии ссылки: <a href='url'...

При клике на ссылку занести эту же ссылку в файл *.txt - PHP
При клике на ссылку занести эту же ссылку в файл *.txt вот что я написал: $site = file('site.txt'); foreach($site as $line) { ...

Как вставить в Excel активную ссылку, активировать ссылку - C#
Здравствуйте. Такой вот вопрос. Если программно записывать ссылки или емейлы в ячейки Excel, то они вставляются в неактивном виде. Как...

Покажите - C++
Не могу сделать программу,с таким выводом данных (см.миниатюра),дальше объявления переменных и и простых арифметических операций дело не...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.