11.01.2008, 09:22
общий
это ответ
Здравствуйте, Benhu!
Думаю, Вам будет полезно обзавестись литературой - в книгах можно найти ответы на многие вопросы. В качестве примера предлагаю такую книгу:
Андрей Сорокин "Delphi Разработка баз данных"
Если у Вас не получится найти её в бумажном варианте, то можно скачать в электронном, например - с www.librus.ru.
Хранить таблицы лучше при помощи какого-либо SQL-сервера, поскольку это предоставит в Ваше распоряжение богатые возможности языка SQL. В качестве бесплатных серверов могу назвать Firebird, MySQL, PostgreSQL. Мне нравится последний. С BDE, пожалуй, лучше не связываться - стареет эта технология, да и драйвер BDE поставить без Delphi - задача не тривиальная. К PostgreSQL, равно как и к MS SQL Server (этот уже довольно дорогой) я привык обращаться через ADO. В случае с MS SQL Server нужно будет скачать с сайта Microsoft драйвер MDAC (весит немного и распространяется бесплатно) - его достаточно, чтобы программа могла обращаться к серверу по сети. При помощи ADO-шных компонентов можно создать и полностью локальную базу без каких-либо SQL-серверов, но в этом случае Вы будете ощутимо ограничены в своих возможностях (например - наладить сетевую и многопользовательскую работу такой базы будет довольно трудно).
По поводу таблиц предлагаю такую структуру:
Таблица Group:
Group_Id: integer - уникальный идентификатор строки (обязательно),
GroupNumer: VarChar(16) - номер группы (можно с буквами),
SMS_Sending: VarChar(1) - ‘+‘ или ‘-‘ - в какие группы отправлять SMS,
прочие поля, если необходимо.
Таблица Students:
Student_ID: integer - уникальный идентификатор строки,
Group_Key: integer - ссылка на Group.Group_Id
FIO: VarChar(32),
Phone: VarChar(20),
прочие поля, если необходимо.
В программе Вам понадобятся следующие компоненты (для случаев с MS SQL Server, PostgreSQL и локальной базы, в других случаях скорее всего понадобятся "родные" компоненты):
ADOConnection - компонент для соединения с базой - один на всю программу;
ADOTable - набор данных (таблица);
DataSource - "клей" между наборами данных и визуальными компонентами вроде DBGrid;
DBGrid - визуальный компонент, отображающий данные из таблицы.
Если Вы хотите серьёзно заниматься базами данных, то вместо ADOTable имеет смысл использовать ADOQuery - этот компонент умеет выбирать из базы данные, удовлетворяющие каким-либо условиям (в зависимости от текущей задачи), хотя начать работу с ним будет чуть посложнее. На каждую таблицу, которую Вы хотите отображать пользователю, нужна своя связка ADOTable/ADOQuery ==> DataSource ==> DBGrid, но на все таблицы достаточно одного ADOConnection-а.
Если Вы сделаете выбор в пользу сервера PostgreSQL, я смогу оказать Вам более детальную помощь.