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

PostgreSQL

Войти
Регистрация
Восстановить пароль
 
 
lordik55
3 / 3 / 0
Регистрация: 28.07.2012
Сообщений: 148
#1

Создание бд - PostgreSQL

26.11.2016, 17:09. Просмотров 1057. Ответов 39
Метки нет (Все метки)

Привет уважаемые форумчане, надеюсь получить хоть малую помощь в реализации моей задумки. Думаю тапками не закидаете. В общем подошла пора писать курсовую по базам данных, четкого тз нету, тему можно выбирать произвольную.
На примете у меня уже давно был один сайт, howlongtobeat.com. Я так понимаю, что такой сайт без бд невозможен, поэтому задумался идеей сваять нечто подобное. Реализация нужна только схем бд (без клиент-серверного приложения) Не могли бы Вы пожалуйста немного подсказать возможно ли это. И дать пару наставлений по проектированию? Выручайте други и подруги
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.11.2016, 17:09
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Создание бд (PostgreSQL):

Создать базу данных с(Создание функции БД, Создание процедуры БД, Создание тригера БД) - Программирование Android
В задание для курсовой работы по БД входят вот такие пункты: 1.2 Создание функции БД. 1.3 Создание процедуры БД 1.4 Создание...

Server 2003 Хочу освоить и применить на практике создание локальной сети, создание домена - Windows Server
Доброго времени суток. Господа, на днях начал осваиваю win server 2003. Хочу освоить и применить на практике создание локальной сети,...

Создание БД учет заявок на доступ к информационным ресурсам: создание отчетов - MS Access
Доброго времени суток. Это всего вторая моя попытка что-то наваять в MS Access, сильно не пинайте. Задача: сделать БД по учету...

Создание кода из строк или создание произвольного количества объектов - Java ME
Привет сообществу. Возник такой вопрос: Мне в мидлете необходимо создать некоторое количество StringItem, заранее неизвестное, то бишь...

Создание базы данных на лету, создание и заполнение таблиц в базе DB (Paradox? или..). - C#
Здравствуйте Профи! --- Видел я "простенькую" (exe-шник небольшого размера, запускается сразу, без предварительной установки)...

Создание формулы и последующее заполнение таблицы, избежание повторов информации, создание интерфейса - MS Access
Не люблю просить о помощи, но, к сожалению, сроки поджимают и не позволяют подробно ознакомиться с профессиональной литературой по MS...

39
Grossmeister
Модератор
3176 / 2274 / 355
Регистрация: 21.01.2011
Сообщений: 10,159
29.11.2016, 16:06 #16
Цитата Сообщение от lordik55 Посмотреть сообщение
Или как оно работает
Если надо только видеть на экране или там распечатать, то это обычный SELECT.
Если надо такую "виртуальную" таблицу (состоящую в реале из нескольких) редактировать, то после редактирования при нажатии кнопки "Сохранить" можно сформировать правильные INSERT /UPDATE / DELETE, которые отредактируют все нужные тебе таблицы.
Никогда не подстраивай структуру данных в БД под визуальное отображение. Мухи отдельно, котлеты отдельно. Скажем, неоптимальная структура данных при больших объемах может привести к конкретным тормозам.
0
lordik55
3 / 3 / 0
Регистрация: 28.07.2012
Сообщений: 148
29.11.2016, 16:41  [ТС] #17
Цитата Сообщение от Grossmeister Посмотреть сообщение
Никогда не подстраивай структуру данных в БД под визуальное отображение
Вот за это спасибо. Многое стало сразу ясно.
Цитата Сообщение от Grossmeister Посмотреть сообщение
Если надо такую "виртуальную" таблицу (состоящую в реале из нескольких) редактировать
Т.е создавать вьюшку для этого дела? Чтобы таблицу Games заполнять?
0
Grossmeister
Модератор
3176 / 2274 / 355
Регистрация: 21.01.2011
Сообщений: 10,159
29.11.2016, 16:45 #18
Цитата Сообщение от lordik55 Посмотреть сообщение
Т.е создавать вьюшку для этого дела?
Как один из вариантов
0
lordik55
3 / 3 / 0
Регистрация: 28.07.2012
Сообщений: 148
29.11.2016, 19:33  [ТС] #19
Столкнулся с проблемой, что во View нельзя вставлять данные. Ну как, в целом можно, но мы там используем Join - это накладывает ограничение.
0
lordik55
3 / 3 / 0
Регистрация: 28.07.2012
Сообщений: 148
29.11.2016, 20:03  [ТС] #20
Отсоединив от таблицы Games поля Жанры и Платформы и соединив их посредством другой таблицы вышло следующее (на скриншоте). Верно сделал?
0
Миниатюры
Создание бд  
Grossmeister
Модератор
3176 / 2274 / 355
Регистрация: 21.01.2011
Сообщений: 10,159
30.11.2016, 09:28 #21
Цитата Сообщение от lordik55 Посмотреть сообщение
Столкнулся с проблемой, что во View нельзя вставлять данные
В Oracle для этого служать INSTEAD OF триггера. Есть ли они в Postgre - не в курсе.
0
lordik55
3 / 3 / 0
Регистрация: 28.07.2012
Сообщений: 148
30.11.2016, 16:56  [ТС] #22
Переделал схему и разобрался со связями "Inf to Inf"
Теперь вот так все выглядит.
0
Миниатюры
Создание бд  
lordik55
3 / 3 / 0
Регистрация: 28.07.2012
Сообщений: 148
01.12.2016, 14:04  [ТС] #23
Дак все-таки интересует, как обычному пользователю вставлять данные относящиеся к жанру/платформе? Точнее выбирать, какой игре принадлежит?
0
grgdvo
571 / 509 / 148
Регистрация: 02.09.2012
Сообщений: 1,498
01.12.2016, 14:24 #24
выбор - это исключительно задача фронтенда
тыкая во всякие контролы в приложении или веб-форме вы должны получить
идентификатор игры XXX и идентификаторы выбранных платформ/жанров (YYY1/ZZZ1, YYY2/ZZZ2 ....).
После этого делать например запрос
SQL
1
INSERT INTO genpl ("gameID", genre_type, platform_type) VALUES (XXX, YYY1, ZZZ1), (XXX, YYY2, ZZZ2);
Контрол заполнить списком возможных жанров/платформ - это совсем легко
SQL
1
SELECT "IDGenre", "Genre" FROM gamesgenre ORDER BY "Genre"
Это если без обработки ошибок, т.е. мы доверяем пользователю, который тыкает в контролы.
По уму нужно делать функцию на сервере, которая проверит "натыканные" данные и когда надо что-то вставить - вставит,
когда надо что-то обновить - обновит в таблице genpl
0
lordik55
3 / 3 / 0
Регистрация: 28.07.2012
Сообщений: 148
01.12.2016, 14:43  [ТС] #25
Т.е надо просто указать нужные id у полей и чтобы они вставили те данные? Например, если в связке PHP+MySQL?
0
grgdvo
571 / 509 / 148
Регистрация: 02.09.2012
Сообщений: 1,498
01.12.2016, 15:51 #26
да, в простом случае в запрос подставляются нужные id.
0
lordik55
3 / 3 / 0
Регистрация: 28.07.2012
Сообщений: 148
04.12.2016, 19:49  [ТС] #27
А какие примерно функции или триггеры можно для данной бд написать?

Добавлено через 8 часов 59 минут
В общем написал самый простейший триггер, который производит подсчет количества записей игр.
SQL
1
2
3
4
CREATE TRIGGER `test`
    AFTER INSERT ON `games` BEGIN
    UPDATE count_games SET count_games.gcount = count_games.gcount+1;
END
И тот не хочет работать. В чем моя ошибка?
Ведь судя по синтаксису он делает следующее: Создается триггер с именем test, после вставки данных в таблицу games происходит обновление поля gcount таблицы count_games на +1, конец триггера.
0
grgdvo
571 / 509 / 148
Регистрация: 02.09.2012
Сообщений: 1,498
05.12.2016, 17:26 #28
mysql что ли?? синтаксис немного другой.... вам в другую ветку, здесь postgresql
0
lordik55
3 / 3 / 0
Регистрация: 28.07.2012
Сообщений: 148
06.12.2016, 22:53  [ТС] #29
Так, хорошо со своим синтаксисом я разобрался. Можно теперь просто вопрос, какие триггеры, функции или процедуры можно написать для имеющейся БД? Хотя бы маленькие примеры.
Один триггер журналирования я уже создал.
0
grgdvo
571 / 509 / 148
Регистрация: 02.09.2012
Сообщений: 1,498
07.12.2016, 00:13 #30
У вас фронтэнд (клиент) как работает??
Какие функции нужны клиенту, такие и делайте.
Как можно ответить на этот вопрос, не зная логики работы программы?!
0
07.12.2016, 00:13
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.12.2016, 00:13
Привет! Вот еще темы с ответами:

Создание источника данных, создание серверных страниц и выбор WEB-сервера и его установка - Web
на практике попросили сделать задание. 1)Создание источника данных 2)Создание серверных страниц 3)Выбор WEB-сервера и его установка ...

Создание экземпляра БД (создание собственно базы данных) - Oracle
Добрый день. Подскажите пожалуйста, я пытаюсь установить Oracle Database 11g Release 2. Следую этой инструкцией...

Файлы. Создание и размещение небольшого текста, создание двух дочерних процессов, вывод результи- рующего файла на экран - C Linux
Помогите пожалуйста с программой. Разработайте программу, выполняющую: 1) создание файла и размещение в нем небольшого текста; 2)...

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


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

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

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