0 / 0 / 0
Регистрация: 18.03.2013
Сообщений: 6
1

Нужна идея по организации базы данных

11.04.2013, 13:52. Показов 1152. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Нужна идея. Есть такая вот таблица. Это одна страница из, где-то, 150. В ней химические соединения и у каждого по два столбца значений (межплоскостные расстояния и интенсивности), а также есть 6 групп, к которым то или иное соединение относится. И вот для такого, достаточно большого, количества значений, мне нужно сделать базу данных. Так вот вопрос - на чем делать? Самое тривиальное - MS Access отпадает, ибо будет очень нерационально - я полагаю что это либо сотни таблиц, либо же для каждого значения нужно будет прописывать название соединения которому оно принадлежит. СУБД с ячейками-массивами? - нет не слышал. В общем нет у меня мыслей на этот счет. В дальнейшем эту БД нужно будет подключить к Visual Studio или, возможно, аналогам. Буду весьма признателен если кто-то откликнется.
З.Ы. Прошу простить если не в том разделе или еще что не по правилам.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.04.2013, 13:52
Ответы с готовыми решениями:

Идея базы данных
Ребят помогите пожалуйста!где можно найти бд для тестирования или помогите саму идею базы продумать!

Нужна идея для удаления данных из массива.
znachit imeyetsya massiv: ar(1)=20 ar(2)=40 ar(3)=10 nuno otnyat iz etogo massiva chislo 25,...

Нужна идея. Организовать ввод данных как в Exel
Есть таблица с полями код_з_план ' счётчик код_этаж_мн ' код этажа код_товара ' материал ...

Нужна программа выборки данных с базы данных FireBird в клиент БД MySQL
Здравствуйте, нужна программа выборки данных или коды на Delphi с базы данных FireBird в клиент БД...

3
107 / 107 / 5
Регистрация: 28.12.2012
Сообщений: 207
11.04.2013, 14:41 2
Сотни таблиц лепить не надо. У вас данные достаточно структурированные - так что мешает их хранить в одной таблице? Ниже предоставлено моё решение (реализация на MS SQL Server):
T-SQL
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
-- Таблица хранит названия соединений
CREATE TABLE chemicals(
    ID              INT IDENTITY(1,1) CONSTRAINT PK_CHEMICALS_ID PRIMARY KEY,
    ChemicalName    NVARCHAR(50)
)
 
-- Таблица хранит названия групп соединений и ID соединений, кот. входят в эти группы
CREATE TABLE chemicals_groups(
    ID              INT IDENTITY(1,1) CONSTRAINT PK_CHEMICALS_GROUPS_ID PRIMARY KEY,
    GroupName       NVARCHAR(50),
    ChemicalID      INT NOT NULL CONSTRAINT FK_CHEMICALS_GROUPS_CHEMICALID REFERENCES dbo.chemicals(ID)
)
 
-- Таблица хранит значения (интенсивность, расстояние) для каждого соединения
CREATE TABLE chemicals_values(
    ID              INT IDENTITY(1,1) CONSTRAINT PK_CHEMICALS_VALUES_ID PRIMARY KEY,
    ChemicalID      INT NOT NULL CONSTRAINT FK_CHEMICALS_VALUES_CHEMICALID REFERENCES dbo.chemicals(ID),
    Distance        FLOAT,
    Intensity       FLOAT
)
 
-- Набивка данных
INSERT INTO chemicals(ChemicalName) VALUES
('HAIO2'),
('AIJ3'),
('AIF3H2O'),
('AI2CI6'),
('AICI3')
 
INSERT INTO chemicals_groups(GroupName, ChemicalID) VALUES 
('nitrogen', 1),
('nitrogen', 2),
('nitrogen', 3),
('water', 4),
('water', 5)
 
INSERT INTO chemicals_values(ChemicalID, Distance, Intensity) VALUES
(1, 4.69, 2),
(1, 3.98, 6),
(1, 3.249, 1),
(1, 2.554, 5)
 
-- Запрос, кот. возвращает ваши данные
SELECT cg.GroupName, c.ChemicalName, cv.Distance, cv.Intensity
FROM chemicals_values cv
    INNER JOIN chemicals c ON cv.ChemicalID = c.ID
    INNER JOIN chemicals_groups cg ON cg.ChemicalID = c.ID
Я слабо разбираюсь в MS Access, но думаю с тремя таблица он вполне справится
Если у вас есть всё же опасения, то используйте MS SQL Server - его в будущем будет достаточно легко интегрировать с Visual Studio
0
0 / 0 / 0
Регистрация: 18.03.2013
Сообщений: 6
12.04.2013, 14:34  [ТС] 3
Я так понимаю в итоге получается такая вот структура:
| Название соединения | Группа | Расстояние | Интенсивность |

Добавлено через 7 минут
| Название соединения | Группа | Расстояние | Интенсивность |
| AlOH |железо |[1.32,...,4.32]| [2.22,...,3.54]|

и т.д.?
То есть расстояния и интенсивности будут массивами присвоенными соединению? В том смысле, что я смогу работать с ними, как с массивами, при обращении к какому либо конкретному хим. соединению? Это основное что меня волнует.
И да, спасибо за столь быстрый отклик и желание помочь. =)
0
107 / 107 / 5
Регистрация: 28.12.2012
Сообщений: 207
12.04.2013, 22:41 4
Цитата Сообщение от indusskiykod Посмотреть сообщение
| Название соединения | Группа | Расстояние | Интенсивность |
| AlOH |железо |[1.32,...,4.32]| [2.22,...,3.54]|
Не совсем так:
Название соединения Группа Расстояние Интенсивность
AlOH железо 1.32 2.22
AlOH железо 1.45 2.55
AlOH железо 4.32 3.54
Цитата Сообщение от indusskiykod Посмотреть сообщение
В том смысле, что я смогу работать с ними, как с массивами, при обращении к какому либо конкретному хим. соединению? Это основное что меня волнует.
Да, сможете - в таблице chemicals_values у вас будут хранится наборы интенсивность/расстояние для всех соединений. Если, например, у AlOH 20 комбинаций интенсивность/расстояние, то в этой таблице будет 20 строк примерно следующего вида:
ID Расстояние Интенсивность
11.32 2.22
11.35 2.26
11.39 2.31
При этом обратите внимание на то, что ID для AlOH всегда имеет значение 1 - это ключ.
Цитата Сообщение от indusskiykod Посмотреть сообщение
И да, спасибо за столь быстрый отклик и желание помочь. =)
Пожалуйста
PS Таблицы советую выводить, заключенных в тег [TABLE] - наглядней получается.
1
12.04.2013, 22:41
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.04.2013, 22:41
Помогаю со студенческими работами здесь

Схема данных для базы данных аварийных ситуаций: нужна ваша критика
Здравствуйте! Составил для курсового проекта схему базы данных для аварийных ситуаций: можете...

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

Выборка из базы данных. Нужна помощь.
Здраствуйте. Структура БД такова: id | cat 1 | 4 2 | 2 3 | 2 4 | 3 5 | 2 6 | 4 ... | ...

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


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru