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

Спроектировать схему базу данных на основе json файла

03.07.2018, 12:11. Показов 1535. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день! Только начинаю изучать Postgresql, и возник вопрос можно ли на основе json файла построить схему базы данных? И каким способом это можно сделать? часть json файла прикрепляю, заранее большое спасибо!
JSON
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
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
{
  "Документ": {
    "-Тип": "УЧЕБНЫЙ ПЛАН",
    "-PrevName": "РУП 09.03.03 Прикладная информатика бакалавриат заочное 2016.plz.xml",
    "-PrevWrite": "28.02.2018 10:54:50",
    "-LastName": "РУП 09.03.03 Прикладная информатика заочное ПИб-2016.plz.xml",
    "-LastWrite": "11.04.2018 18:51:00",
    "План": {
      "-ПодТип": "рабочий учебный план",
      "-Шифр": ".PLZ.XML",
      "-ОбразовательнаяПрограмма": "подготовка бакалавров",
      "-ФормаОбучения": "заочная",
      "-УровеньОбразования": "ВПО",
      "Титул": {
        "-ПолноеИмяПлана": "РУП 09.03.03 Прикладная информатика заочное ПИб-2016",
        "-ИмяПлана": "РУП 09.03.03 Прикладная информатика заочное ПИб-2016",
        "-НомерПользователя": "355129",
        "-ИмяВуза": "ФГБОУ ВО Пермский ГАТУ",
        "-Головная": "МИНИСТЕРСТВО СЕЛЬСКОГО ХОЗЯЙСТВА РОССИЙСКОЙ ФЕДЕРАЦИИ",
        "-КодКафедры": "36",
        "-Факультет": "Заочного обучения",
        "-ПоследнийШифр": "09.03.03",
        "-ГодНачалаПодготовки": "2016",
        "-ВключатьЭкВСуммуЧасов": "1",
        "-ДвИГА": "1",
        "-ГвИГА": "1",
        "-DetailGIA": "1",
        "-ИГА_ЗЕТвНеделе": "1.5",
        "-ИГА_ЧасовВЗЕТ": "36",
        "-КСР_ИЗ": "КСР",
        "-Программа": "1",
        "-ООПет": "244",
        "-Интер": "16.2",
        "-Лекц": "40.94",
        "-ДВВ": "33.9",
        "-МаксНагр": "41.9",
        "-Уровень": "2",
        "-ВидПлана": "3",
        "-КодУровня": "B",
        "-СеместровНаКурсе": "1",
        "-СессийНаКурсе": "2",
        "-ЭлементовВНеделе": "1",
        "-ДатаГОСа": "12.03.2015",
        "-ДокументГОСа": "207",
        "-ТипГОСа": "3.5",
        "-Приложение": "UpVpo",
        "-ДатаПриложения": "12.04.2016",
        "-ВерсияПриложения": "22435",
        "АтрибутыЦикловНов": {
          "Цикл": [
            {
              "-Ном": "1",
              "-Аббревиатура": "Б1",
              "-Название": "Дисциплины (модули)"
            },
            {
              "-Ном": "4",
              "-Название": "Элективные дисциплины по физической культуре и спорту"
            },
            {
              "-Ном": "5",
              "-Аббревиатура": "Б2",
              "-Название": "Практики"
            },
            {
              "-Ном": "6",
              "-Аббревиатура": "ФТД",
              "-Название": "Факультативы"
            },
            {
              "-Ном": "7",
              "-Аббревиатура": "Б3",
              "-Название": "Государственная итоговая аттестация"
            },
            {
              "-Ном": "8",
              "-Аббревиатура": "Б3.Г",
              "-Название": "Подготовка к сдаче и сдача государственного экзамена"
            },
            {
              "-Ном": "9",
              "-Аббревиатура": "Б3.Д",
              "-Название": "Защита выпускной квалификационной работы (ВКР)"
            }
          ]
        },
        "АтрибутыЦиклов": {
          "Цикл": [
            {
              "-Ном": "1",
              "-Абревиатура": "Б1",
              "-Название": "Дисциплины (модули)"
            },
            {
              "-Ном": "4",
              "-Абревиатура": "Б3+",
              "-Название": "Профессиональный цикл"
            },
            {
              "-Ном": "5",
              "-Абревиатура": "НИРМ",
              "-Название": "Научно-исследовательская работа магистра"
            },
            {
              "-Ном": "6",
              "-Абревиатура": "ФТД",
              "-Название": "Факультативы"
            },
            {
              "-Ном": "7",
              "-Абревиатура": "Б4",
              "-Название": "Элективные дисциплины по физической культуре и спорту"
            }
          ]
        },
        "Утверждение": {
          "-Дата": "26.10.2017",
          "-НомПротокола": "3"
        },
        "Специальности": {
          "Специальность": [
            {
              "-Ном": "1",
              "-Название": "Направление подготовки 09.03.03  Прикладная информатика"
            },
            {
              "-Ном": "2",
              "-Название": "Направленность (профиль) программы \"Прикладная информатика в экономике\""
            }
          ]
        },
        "Квалификации": {
          "Квалификация": {
            "-Ном": "1",
            "-Название": "бакалавр",
            "-СрокОбучения": "5л"
          }
        },
        "ВидыДеятельности": {
          "ВидДеятельности": [
            {
              "-Ном": "1",
              "-Название": "проектная"
            },
            {
              "-Ном": "2",
              "-Название": "производственно-технологическая"
            },
            {
              "-Ном": "3",
              "-Название": "организационно-управленческая"
            },
            {
              "-Ном": "4",
              "-Название": "аналитическая"
            },
            {
              "-Ном": "5",
              "-Название": "научно-исследовательская"
            }
          ]
        },
        "Разработчики": {
          "Разработчик": [
            {
              "-Ном": "1",
              "-ФИО": "Зубарев Ю.Н.",
              "-Должность": "Ректор",
              "-Активный": "1"
            },
            {
              "-Ном": "2",
              "-ФИО": "Красильникова Л.Е.",
              "-Должность": "Проректор по УР",
              "-Активный": "1"
            },
            {
              "-Ном": "3",
              "-ФИО": "Попов В.А.",
              "-Должность": "Начальник УМУ",
              "-Активный": "1"
            },
            {
              "-Ном": "4",
              "-ФИО": "Поносов А.Н.",
              "-Должность": "Декан факультета заочного обучения",
              "-Активный": "1"
            },
            {
              "-Ном": "5",
              "-ФИО": "Козлов А.Н.",
              "-Должность": "Зав.кафедрой",
              "-Активный": "1"
            }
          ]
        },
        "ГрафикУчПроцесса": {
          "Курс": [
            { "-График": "====================================================" },
            {
              "-Ном": "1",
              "-ООПет": "46",
              "-МаксНагр1": "46.2",
              "-КаникулНед": "9",
              "-График": "ТТТТТТТТТТЭЭЭТТТТККТТТТТТТТТТТТТТТТЭЭЭЭЭТТТТТККККККК",
              "Семестр": {
                "-Ном": "1",
                "-СтрНедТО": "35",
                "-НомерПервойНедели": "1",
                "-НомерПервогоЭлемента": "1",
                "-График": "ТТТТТТТТТТЭЭЭТТТТККТТТТТТТТТТТТТТТТЭЭЭЭЭТТТТТККККККК"
              }
            },
            {
              "-Ном": "2",
              "-ООПет": "48",
              "-МаксНагр1": "38.8",
              "-КаникулНед": "8",
              "-График": "ТТТТТТТЭЭЭУУТТТТТ=КТТТТТТТТТЭЭЭЭУУТТТТТТТТТТТККККККК",
              "Семестр": {
                "-Ном": "1",
                "-СтрНедТО": "32",
                "-НомерПервойНедели": "1",
                "-НомерПервогоЭлемента": "1",
                "-График": "ТТТТТТТЭЭЭУУТТТТТ=КТТТТТТТТТЭЭЭЭУУТТТТТТТТТТТККККККК"
              }
            },
            {
              "-Ном": "3",
              "-ООПет": "48",
              "-МаксНагр1": "40.2",
              "-КаникулНед": "8",
              "-График": "ТТТТТТТТТТЭЭЭЭТТТ=КТТТТТТТТТТТЭЭЭЭТТТТТТТТТТТККККККК",
              "Семестр": {
                "-Ном": "1",
                "-СтрНедТО": "35",
                "-НомерПервойНедели": "1",
                "-НомерПервогоЭлемента": "1",
                "-График": "ТТТТТТТТТТЭЭЭЭТТТ=КТТТТТТТТТТТЭЭЭЭТТТТТТТТТТТККККККК"
              }
            },
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.07.2018, 12:11
Ответы с готовыми решениями:

Создать базу данных на основе файла с данными
Итак, есть у меня следующий файл lotto.dat в котором содержаться данные сыгранных...

Создать базу данных на основе типизированного файла записей
Создать базу данных на основе типизированного файла записей f об успеваемости 10 студентов вашей...

Спроектировать базу данных
Вот есть такое задание. Вы работаете в торговом центре и сдаете в аренду коммерсантам свои...

Спроектировать базу данных
(Спроектировать базу данных , позволяющую автоматизировать процесс продажи техники на основании...

2
1224 / 945 / 377
Регистрация: 02.09.2012
Сообщений: 2,886
04.07.2018, 01:04 2
Больше похоже, что данная информация получена из документориентированной СУБД (не знаю какой), а значит мы сразу упираемся в фундаментальную проблему: какой подход выбрать, чтобы отображать элементы документоориентированной модели данных на элементы реляционной модели данных (к которым и относится PostgreSQL). Под моделью я понимаю тот набор понятий и правил, которые используются для построения схемы конкретной задачи (предметной области).
В основе документоориентированных (иерархических) моделей лежит понятие дерева, которое во всех своих ветвях и листьях хранит необходимую информацию о некотором понятии предметной области. Яркий пример - ваш документ УЧЕБНОГО_ПЛАНА со сложной внутренней структурой. В документоориентированных моделях очень просто реализуются связи 1:1 и 1:N между понятиями предметной области. Мы просто записываем их в иерархии и все. Например у вас УЧЕБНЫЙ_ПЛАН включает ЦИКЛЫ, ГРАФИКИ, ПЛАНЫ и т. п.
В основе реляционных моделей лежит понятие отношения (грубо табличка), которое имеет плоскую структуру и обрастает ключами при установлении связей между разными понятиями. Например для вашего случая будет отношение УЧЕБНЫЙ_ПЛАН с атрибутами (колонки таблички), непосредственно описывающий учебный план. Чтобы УЧЕБНЫЙ_ПЛАН связать с ГРАФИКОМ, нужно сначала завести отношение ГРАФИК. Причем это отношение предполагает, что оно представляет любой график учебного плана вашей предметной области, а не только график для конкретного учебного плана. Соответственно эту сложную связь многие-ко-многим (N:N) нужно будет впоследствии как-то реализовывать. Вообще связь N:N наиболее сложный вид связи понятий для любых моделей, особенно для документориентированных. Чуть проще связи 1:1 или 1:N, но все равно конкретные понятия нужно как-то идентифицировать - выбирать атрибуты, отличающие один объект предметной области от другого. ПЛАН представляется ДОКУМЕНТОМ, обладающим датой и номером, который тоже надо как-то отражать в модели. И т. д.

В общем, резюмируя, скажу. Краткий ответ на ваш вопрос: ДА МОЖНО! Каким способом?? А вот это зависит от того, как вы понимаете теорию и владеете навыками моделирования. Автоматизированного средства, типа "вот JSON! нарисуй схему данных!", я не знаю. Да и вряд ли оно существует. Если никак не владеете, тогда Вам лучше основательно познакомиться с теорией (Например, вот) и начать с более простых примеров и моделей, а не тех, которые сразу охватывают весь спектр вопросов моделирования.
0
1443 / 1326 / 131
Регистрация: 20.03.2009
Сообщений: 4,689
Записей в блоге: 11
04.07.2018, 11:34 3
Вообще то в PostgreSQL вполне себе можно хранить документы в JSON. Нужна схема или нет, это все зависит от решаемой задачи.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.07.2018, 11:34
Помогаю со студенческими работами здесь

Спроектировать базу данных
У меня вот такая проблемка. Нужно Спроектировать базу данных для диспетчера автобусного парка. В...

Спроектировать базу данных
как - то я уже создавал подобную тему(https://www.cyberforum.ru/sql-server/thread647717.html) но...

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

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


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

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

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