Предмет Базы Данных. Вопрос по проекту

Интересные алгоритмы, олимпиадные задачи, эффектные и эффективные решения. freepascal, delphi, c, c++, c#, java, javascript, perl, ruby, python, php, bash, wsh и т.д. Компиляторы, интерпретаторы, линкеры, отладчики, системы контроля версий и многое другое.

Модератор: xdsl

Предмет Базы Данных. Вопрос по проекту

Сообщение Gemini 21 фев 2009, 13:40

Я являюсь студентом 383 группы. И у нас в этом семестре идет дисциплина БД ведомая Пироговым В.Ю.

В связи с этим собственно возник вопрос к Владиславу Юрьевичу.
Вы сказали что к концу курса мы должны подготовить проект - программу работающую с сервером баз данных,
т.е. насколько я понял написать клиента, например для MySQL.

В связи с этим появилось несколько вопросов.
1. Я правильно понимаю задание?
2. Какие требования к проекту обязательны?
3. Приемлете ли вы реализацию подобного проекта на php?
Не относитесь к этой жизни слишком серьезно,господа.Все равно вам из неё живым не выбраться.
Gemini
 
Сообщения: 90
Зарегистрирован: 13 янв 2009, 12:42
Откуда: Сейчас в Ша
Полное имя: Плешков Сергей Александрович

Re: Предмет Базы Данных. Вопрос по проекту

Сообщение Vladislav_133 21 фев 2009, 15:54

В проектах обязательна серверная часть. Т.е. сама баз данных и хранимые процедуры и функции. Перенос всего исполняемого кода на стороне сервера на сторону сервера обязательно. Можно использовать два сервера (MS SQL Server либо PostgreSQL). Я думаю вы спутали MS SQL Server с MySQL. MySQL мы не принимаем, не потому, что это плохо, а потому, что такова наша установка. Кстати с MySQL вы знакомитесь при изучении других дисциплин.
При написание клиента можно использовать любое средство, в том числе и PHP. Если PHP, то следует выполнить одно важное условие. Должен быть развит интерфейс пользователя. Для этого есть JavaScript и в частности Ajax. Не говорите мне потом, что вот мол это же PHP, что же можно там с интерфесом сделать. Современные тенденции таковы, что web-интерфейс скоро перестанет уступать обычному GUI-интерфейсу.
А это значит меню, кнопки, поля ввода, списки, таблицы. Все это в красивом оформлении, в масштабе окна, обработкой исключительных ситуаций.
Так вот, проект лучше делать вдвоем - один отвечает за серверную часть, а другой за клиентскую.
Аватара пользователя
Vladislav_133
Elite
 
Сообщения: 1386
Зарегистрирован: 13 дек 2008, 18:08
Полное имя: П.В.Ю.

Re: Предмет Базы Данных. Вопрос по проекту

Сообщение Gemini 21 фев 2009, 16:20

Тогда еще вопросы.

1. Существуют ли автоматы? и,если существуют,что надо сделать чтобы получить автомат?

2. Тема проекта произвольна? может ли тандем(2е студентов разрабатывающих проект) взять тему "Управление учебными планами в ВУЗе"?
Не относитесь к этой жизни слишком серьезно,господа.Все равно вам из неё живым не выбраться.
Gemini
 
Сообщения: 90
Зарегистрирован: 13 янв 2009, 12:42
Откуда: Сейчас в Ша
Полное имя: Плешков Сергей Александрович

Re: Предмет Базы Данных. Вопрос по проекту

Сообщение Vladislav_133 21 фев 2009, 16:39

Автомат?
Я не знаю, во всяком случае, ваша работа может сыграть решающую роль в экзаменационной оценке.
Да, эта тема вполне приемлима. Но вы должны сформулировать постановку задачи. Желательно заранее.
Аватара пользователя
Vladislav_133
Elite
 
Сообщения: 1386
Зарегистрирован: 13 дек 2008, 18:08
Полное имя: П.В.Ю.

Re: Предмет Базы Данных. Вопрос по проекту

Сообщение Gemini 21 фев 2009, 17:22

Мой одногруппник интересуется, зная что вы не очень любите Delphi, принимаются ли проекты на нем?На чем бы вы порекомендовали писать данный проект?

И еще один вопрос от меня - Учитывая, что я совсем не знаю ajax'а стоит ли мне его использовать в проекте,учитывая что данная версия будет проекта будет использоваться в педовской внутренней сети, где величина трафика не важна и ,скорей всего, скорость отрисовки и обработки проекта будет достаточно велика?

Я попытаюсь в нем разобраться, но пока не хотел бы использовать, не зная его.
Не относитесь к этой жизни слишком серьезно,господа.Все равно вам из неё живым не выбраться.
Gemini
 
Сообщения: 90
Зарегистрирован: 13 янв 2009, 12:42
Откуда: Сейчас в Ша
Полное имя: Плешков Сергей Александрович

Re: Предмет Базы Данных. Вопрос по проекту

Сообщение Vladislav_133 21 фев 2009, 18:02

Насчет того, люблю или нет я Delphi, это анекдот. Мне не нравится когда студенты ищут легких путей.
Некоторое время назад, когда Delphi в студенческой среде был очень популярен, многие студенты просто искали нужные компоненты в Инете, чтобы самому по-меньше разрабатывать. Меня это возмущало.
Вот оттуда этот анекдот и ходит.
Да, нет, Ajax использовать не обязательно. Но обработка на стороне браузера необходима.
Аватара пользователя
Vladislav_133
Elite
 
Сообщения: 1386
Зарегистрирован: 13 дек 2008, 18:08
Полное имя: П.В.Ю.

Re: Предмет Базы Данных. Вопрос по проекту

Сообщение Gemini 25 фев 2009, 20:54

Думаю пора создавать что то типа проектной документации.
Вообщем определить список минимальных требований к проекту в конкретных функциях клиента и СБД.
Описываю пока общий для группы шаблон,чтобы потом выслушать уточнения Вячеслава Юрьевича.
Итак.

Основные функции клиента:
1. Вывод информации в удобной(табличной, предполагается) форме.
2. Возможности ввода информации в какой либо шаблон (поля, комбобоксы, чекбоксы, кнопки и т.д) и отправка(сохранение) введенной информации в бд.
3. Редактирование записей бд. Т.е. вывод информации в изменяемые поля и их редактирование.
4. Поиск информации в базе (по заданым шаблонам поиска, по диапазонам значений и т.д.)

Основные функции сервера:
1. Вывод таблиц
2. Вывод записи для редактирования
3. Запись информации переданной из клиента в базу
4. Обновление(перезапись) записи
5. Обработка поиска и выдача результатов

Пока я вижу эти основные функции.Жду уточнении.
И еще меня очень интересует вопрос - как в клиент серверной технологии организуется связь клиента и сервера.Посмотрев выложенные Вячеславом Юрьевичом лекции примерно оценил что все это организовывается через сокеты...но собственно практическая реализация вопроса так и остается неясной.Хотелось бы что нить прочитать чтобы понять.
Не относитесь к этой жизни слишком серьезно,господа.Все равно вам из неё живым не выбраться.
Gemini
 
Сообщения: 90
Зарегистрирован: 13 янв 2009, 12:42
Откуда: Сейчас в Ша
Полное имя: Плешков Сергей Александрович

Re: Предмет Базы Данных. Вопрос по проекту

Сообщение Vladislav_133 25 фев 2009, 21:02

Отвечу пока на самое последнее.
Стандартная технология связи клиента и сервера - ODBC. Протокол ODBC стандартизован, поддерживается и Windows и Linux. Имеется также много других технологий доступа к серверу, в том числе и от производителей сервера. Если вас интересует доступ из php, этой информации у меня под рукой нет, но технология отрабоатана. Можете обратиться, например, к Тимофею - нашему программисту.
Аватара пользователя
Vladislav_133
Elite
 
Сообщения: 1386
Зарегистрирован: 13 дек 2008, 18:08
Полное имя: П.В.Ю.

Re: Предмет Базы Данных. Вопрос по проекту

Сообщение Vladislav_133 26 фев 2009, 18:51

Продолжим по поводу проектов.
В принципе я со всем согласен. Но есть одно "НО". Вообще то ваш проект предполагает также такие моменты как
1. Анализ предметной области.
2. Разработка базы данных.
3. Разработка программной части на стороне бд.
4. Разработка пользовательского интерфейса.
Вот надо из этого исходить. Вот если обоснуете, что ваш (я имею в виду любого) кривой интерфейс хорошь и как раз подходит для данной задачи и предполагаемых пользователей, то я с вами соглашусь.

Конечно речь должна идти не о выводе таблицы, а выводе нужной информации об объекте или объектах. Надо именно так ставить задачу. А сколько в этом запросе будут учавствовать таблиц - я не знаю, может быть и одна, а может и 20 штук. И обновляется информация не в таблице, а информация об объекте или объектах, а сколько таблиц при этом будет задействовано - я также не знаю. И т.д. Поэтому удобно использовать именно хранимые процедуры - одна операция над объектом - одна процедура. Попробуйте и убедитесь сами.
Аватара пользователя
Vladislav_133
Elite
 
Сообщения: 1386
Зарегистрирован: 13 дек 2008, 18:08
Полное имя: П.В.Ю.

Re: Предмет Базы Данных. Вопрос по проекту

Сообщение Gemini 28 фев 2009, 11:49

Хорошо.Про хранимые процедуры вроде понятно.На стороне клиента в таком случае останется только вызов данного метода с парамерами - меньше грузится сеть и т.д.

Анализ предметной области и разработка бд уже практически законченна на данный момент. Даже документации немного уже есть) Но язык хранимых процедур - вещь абсолютно новая.

Если ли где то русская и желательно простая документация по Ms sql(т.е T-SQL) и PostgreSQL (PL/pgSQL), точнее можете ли подсказать ссыки?
Не относитесь к этой жизни слишком серьезно,господа.Все равно вам из неё живым не выбраться.
Gemini
 
Сообщения: 90
Зарегистрирован: 13 янв 2009, 12:42
Откуда: Сейчас в Ша
Полное имя: Плешков Сергей Александрович

Re: Предмет Базы Данных. Вопрос по проекту

Сообщение Vladislav_133 28 фев 2009, 14:14

Я предпочитаю электронные книжки.
Выложу в сой каталог в понедельник.
По ms sql 2005 можно пользоваться моей книжкой, она есть в библиотеке.
Аватара пользователя
Vladislav_133
Elite
 
Сообщения: 1386
Зарегистрирован: 13 дек 2008, 18:08
Полное имя: П.В.Ю.

Re: Предмет Базы Данных. Вопрос по проекту

Сообщение Gemini 18 мар 2009, 10:36

Еще раз хочется уточнить.
1) Тема проекта не особо важна - может быть взята почти любая,так?
2) Главное в проекте - создание проекта клиент-серверной архитектуры?
3) Второе главное условие - развитый интерфейс пользователя,так?
4) Работа тандемом (2 человека на проект) допустима и приветствуется ( разделение задач - один пишет серверную часть, второй клиентскую)?

Проект уже начат.Сейчас примерно на 15% реализации. В зависимости от ваших ответов зависят пути его дальнейшей реализации.
Не относитесь к этой жизни слишком серьезно,господа.Все равно вам из неё живым не выбраться.
Gemini
 
Сообщения: 90
Зарегистрирован: 13 янв 2009, 12:42
Откуда: Сейчас в Ша
Полное имя: Плешков Сергей Александрович

Re: Предмет Базы Данных. Вопрос по проекту

Сообщение [DD] 19 мар 2009, 13:46

на счет доступа к серверам БД из PHP:
1) под Windows есть у php экстеншены для MySQL,PgSQL,MsSQL
2) под Linux есть экстеншены для MySQL, PgSQL
3) freeTDS - Linux,MsSQL
мы рождены чтоб сказку сделать кодом
[DD]
Elite
 
Сообщения: 163
Зарегистрирован: 18 мар 2009, 22:18
Откуда: from HELL
Полное имя: Зыков Д.А.

Re: Предмет Базы Данных. Вопрос по проекту

Сообщение Gemini 19 мар 2009, 15:10

Это хорошие новости, Дим) Загвоздка только в том, что требуется процедуры обработки данных, все, которые возможно, перенести на mssql в виде хранимых процедур. Т.е. получается, что к ним только обращаться надо будет.и написаны они будут не на пхп насколько я понял.
Не относитесь к этой жизни слишком серьезно,господа.Все равно вам из неё живым не выбраться.
Gemini
 
Сообщения: 90
Зарегистрирован: 13 янв 2009, 12:42
Откуда: Сейчас в Ша
Полное имя: Плешков Сергей Александрович

Re: Предмет Базы Данных. Вопрос по проекту

Сообщение Vladislav_133 19 мар 2009, 20:18

Gemini писал(а):Еще раз хочется уточнить.
1) Тема проекта не особо важна - может быть взята почти любая,так?
2) Главное в проекте - создание проекта клиент-серверной архитектуры?
3) Второе главное условие - развитый интерфейс пользователя,так?
4) Работа тандемом (2 человека на проект) допустима и приветствуется ( разделение задач - один пишет серверную часть, второй клиентскую)?

Проект уже начат.Сейчас примерно на 15% реализации. В зависимости от ваших ответов зависят пути его дальнейшей реализации.


1. В общем да. Но у нас есть набор стандартных тем с перечислением того, что ИС должна делать. Но можете сами придумать.
2-3. Не очень понятные слова. Проект оценивается по: а) структуре базы данных, б) программному коду на стороне сервера, в) программному коду на стороне клинета, г) интерфейсу пользователя.
4. Да, третий лишний. Одному тяжеловато будет - хотя и очень полезно.
Аватара пользователя
Vladislav_133
Elite
 
Сообщения: 1386
Зарегистрирован: 13 дек 2008, 18:08
Полное имя: П.В.Ю.

Re: Предмет Базы Данных. Вопрос по проекту

Сообщение [DD] 20 мар 2009, 08:34

2 Gemini ну с хранимыми процедурами то я понял...
но все равно даже имея эти процедуры тебе нужен доступ до сервера для Delphi и Visual Studio это ODBC
а вот для php я те написал...

а да... чуть не забыл... эти процедуры тебе будут возвращать наборы данных... который ты в свою очередь и будешь обрабатывать(выводить, изменять) так что это мало чем отличается от простых запросов(это я про клиентскую часть)
мы рождены чтоб сказку сделать кодом
[DD]
Elite
 
Сообщения: 163
Зарегистрирован: 18 мар 2009, 22:18
Откуда: from HELL
Полное имя: Зыков Д.А.

Re: Предмет Базы Данных. Вопрос по проекту

Сообщение Gemini 20 апр 2009, 08:33

Проект готов на 65%(Проект Видеокаталог). Остается его полировать и убирать помарки и ловить возможные ошибки. Владислав Юрьевич, появился вопрос:

1) Все таблицы проекта обязательно должны быть в 3 НФ или возможны отступления от стандарта 3НФ, полей,которые не особо важны? Ну если конкретно, то есть таблица фильмов,у каждого фильма есть режиссер - так вот - режиссеры не вынесены в отдельную таблицу,т.к. предполагалось что режиссеров может быть несколько и была возможность хранить их в одном поле таблицы фильмы,записав через запятую.
Не относитесь к этой жизни слишком серьезно,господа.Все равно вам из неё живым не выбраться.
Gemini
 
Сообщения: 90
Зарегистрирован: 13 янв 2009, 12:42
Откуда: Сейчас в Ша
Полное имя: Плешков Сергей Александрович

Re: Предмет Базы Данных. Вопрос по проекту

Сообщение Vladislav_133 20 апр 2009, 13:35

Gemini писал(а):Проект готов на 65%(Проект Видеокаталог). Остается его полировать и убирать помарки и ловить возможные ошибки. Владислав Юрьевич, появился вопрос:

1) Все таблицы проекта обязательно должны быть в 3 НФ или возможны отступления от стандарта 3НФ, полей,которые не особо важны? Ну если конкретно, то есть таблица фильмов,у каждого фильма есть режиссер - так вот - режиссеры не вынесены в отдельную таблицу,т.к. предполагалось что режиссеров может быть несколько и была возможность хранить их в одном поле таблицы фильмы,записав через запятую.


на самом деле, похоже, вы собираетесь нарушать не 3, а 1 нормальную форму. Сделайте таблицу - режиссеры. Это логично. Связь "один ко многим", что вас смущает?
Аватара пользователя
Vladislav_133
Elite
 
Сообщения: 1386
Зарегистрирован: 13 дек 2008, 18:08
Полное имя: П.В.Ю.

Re: Предмет Базы Данных. Вопрос по проекту

Сообщение Vladislav_133 21 апр 2009, 21:17

Приму и альтернативный (ваш) вариант, если напишите анализ строки с режисерами и учтете:

1. Произвольное количество пробелов между словами.
2. Произвольная запись инициалов: А.Б., АБ, А.Б, А Б, АБ., Анатолий П., Анатолий Петрович, Анатолий Петр., Ан. Петр., и т.д. , а также учесть, что отчества может не быть.
3. Сделаете это без использования и с использованием регулярных выражений.
4. Т.е. разбирая строку вы должны для каждого режисера выделить фамилию, имя, отчество (если они есть) отдельно.

Если сделаете это, то заслужите мое глубочайшее уважение.
Аватара пользователя
Vladislav_133
Elite
 
Сообщения: 1386
Зарегистрирован: 13 дек 2008, 18:08
Полное имя: П.В.Ю.

Re: Предмет Базы Данных. Вопрос по проекту

Сообщение Gemini 23 апр 2009, 09:05

Да.Если хоть немного подумать - на счет первой формы вы правы.Просто - это достаточно удобно для подобной базы данных. Например,подобная система используется на http://media.shadrinsk.net/ - поля жанр и режиссер - строки,где сразу можно увидеть всех режиссеров и примерное описание по жанрам - что представляет из себя этот фильм.Согласен - это не соответствует НФ, но работает.

Но,так как предмет у нас Базы данных, то свою базу придется привести к НФ.
Не относитесь к этой жизни слишком серьезно,господа.Все равно вам из неё живым не выбраться.
Gemini
 
Сообщения: 90
Зарегистрирован: 13 янв 2009, 12:42
Откуда: Сейчас в Ша
Полное имя: Плешков Сергей Александрович

Re: Предмет Базы Данных. Вопрос по проекту

Сообщение Vladislav_133 23 апр 2009, 10:53

Я не понял, про какие строки вы говорите. В таблице? Вы знакомы со структурой данных на media.shadrinsk.net?
Но в общем то я говрю, что соглашусь с вами, при выполнении перечисленных условий.
Аватара пользователя
Vladislav_133
Elite
 
Сообщения: 1386
Зарегистрирован: 13 дек 2008, 18:08
Полное имя: П.В.Ю.

Re: Предмет Базы Данных. Вопрос по проекту

Сообщение xdsl 23 апр 2009, 12:51

Gemini писал(а):Например,подобная система используется на http://media.shadrinsk.net/ - поля жанр и режиссер - строки,где сразу можно увидеть всех режиссеров и примерное описание по жанрам - что представляет из себя этот фильм.

Вот совершенно необязательно, что визуальное представление соответствует внутреннему. Например:
1.png
1.png (25.66 Кб) Просмотров: 18256
Думаете поле "Результаты ЕГЭ" прямо в таком виде в базу забивается? Ничего подобного, оно формируется из полей нескольких таблиц.
xdsl
 
Сообщения: 1236
Зарегистрирован: 09 дек 2008, 05:16
Откуда: ВЦ ШГПИ
Полное имя: Слинкин Д.А.

Re: Предмет Базы Данных. Вопрос по проекту

Сообщение Vladislav_133 23 апр 2009, 21:14

Да, у меня уж и тоже подозрения возникло, что есть путаница в том, что есть таблица для хранения и, что есть таблица для представления. Как говорил один кино-герой "Меня мучают смутные сомнения...".
Аватара пользователя
Vladislav_133
Elite
 
Сообщения: 1386
Зарегистрирован: 13 дек 2008, 18:08
Полное имя: П.В.Ю.

Re: Предмет Базы Данных. Вопрос по проекту

Сообщение Gemini 24 апр 2009, 06:32

Vladislav_133 и xdsl
А как тогда подобное представление организовывается?

Допустим, мы говорим о тех же жанрах фильма. Допустим, на каждый фильм они представлены ввиде перечисления нескольких значений, ну или условия задачи таковы,(что тут надо показать несколько значений ) - например - Боевик, комедия, фантастика. Как организовано хранение этой информации в базе?
Мне в голову пока приходит один вариант(есть и другие,но всплыл этот) - есть таблица Фильмы(ид, название, ориг.название, жанры и т.д. - строки и ссылки - внешние ключи), есть таблица Жанров (ид, боевик, драма, и так далее перечисление жанров - булевские поля) - и тогда для формирования строки представления организуется ф-я которая формирует строку для показа.

Какие могут быть еще варианты?

И еще вопрос - как бы вы поступили с формированием поля "В ролях:" где идет перечисление актеров ?
Не относитесь к этой жизни слишком серьезно,господа.Все равно вам из неё живым не выбраться.
Gemini
 
Сообщения: 90
Зарегистрирован: 13 янв 2009, 12:42
Откуда: Сейчас в Ша
Полное имя: Плешков Сергей Александрович

Re: Предмет Базы Данных. Вопрос по проекту

Сообщение Vladislav_133 24 апр 2009, 08:24

Да здесь вариант один:


Фильмы <--- Жанры ---> Справочник жанров

<--- - означает "один ко многим"

Ну, а представить мы можем так, как хотим.

Запомните один момент, не надо подгонять структуру базы под представление данных.
Аватара пользователя
Vladislav_133
Elite
 
Сообщения: 1386
Зарегистрирован: 13 дек 2008, 18:08
Полное имя: П.В.Ю.

След.

Вернуться в Алгоритмизация и программирование

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3

cron