Практичне завдання №2 Семестр 1
Практичне завдання №2
Створення бази даних за допомогою графічної утиліти MySql-Front.
В даній лабораторній роботі ми будемо створювати БД для подальшого її використанні при написанні програмного додатку на Delphi.
Для полегшення процесу будемо використовувати графічну утиліту MySql-Front.
Будемо створювати Бд для якоїсь неіснуючої бібліотеки, тобто нам будуть потрібні таблиці для зберігання книг, персоналу, відділів. Але про все по-порядку:
- Таблиця «Personal» мусить мати поля: (таблиця для обліку персоналу)
- Id: INT(11) AUTO_INCREMENT, PRIMARY KEY, NOT NULL. (індекс таблиці)
- Name: VARCHAR (32), NOT NULL; (ФІП співробітника)
- come: DATE, NOT NULL; (дата приходу на роботу)
- viddil: INT(5) (відділ де працює)
- Таблиця «Users» мусить мати поля: (таблиця обліку клієнтів)
- Id: INT(11) AUTO_INCREMENT, PRIMARY KEY, NOT NULL. (індекс таблиці)
- Name: VARCHAR (32), NOT NULL; (ФІП читача)
- reg: DATE, NOT NULL; (дата першого відвідування)
- Таблиця «Books» мусить мати поля: (таблиця обліку книжок)
- Aughtor: VARCHAR(32), NOT NULL (Автор книги)
- Name: VARCHAR(32), NOT NULL (Назва книги)
- Data: DATE, NOT NULL (Дата виходу книги)
- Таблиця «InUse» мусить мати поля: (таблиця обліку виданих книжок)
- Id: INT(11) AUTO_INCREMENT, PRIMARY KEY, NOT NULL. (індекс таблиці)
- IdBook: INT(11), NOT NULL (ідентифікатор книги)
- IdUser: INT(11), NOT NULL (ідентифікатор кому видана книга)
- IdPersonal: INT (11), NOT NULL (ідентифікатор хто видав книгу)
- Get: DATETIME (коли було видано книжку)
- Таблиця «Viddilu» мусить мати поля: (таблиця наявних відділів)
- Id: INT(11) AUTO_INCREMENT, PRIMARY KEY, NOT NULL. (індекс таблиці)
- Name: VARCHAR(32), NOT NULL (назва відділу)
- Таблиця «Viddilu» мусить мати поля: (таблиця наявних відділів)
Після створення БД додати 5-10 записів до кожної таблиці. Окрім таблиці «InUse».
Після додання даних створити програмний модуль на мові Delphi, який при запуску буде відбражати вміст будь-якої таблиці.
Витяг з 4-ї лекції:
Delphi в нашому випадку використовується як середовище із візуальними компонентами для доступу до MySQL, безпосередньо запитів та відображення їх результатів.
Для доступу нам потрiбні такі компоненти:
- DataSource, вкладки Data Acces.
- DBGrid, вкладки Data Controls.
- Query, Database вкладки BDE.
Створимо форму та додамо до неї усі ці компоненти.
Для того щоб відобразити данні достатньо:
- Database1.AliasName:='MyDB3';
- Database1.DatabaseName:='linx';
- Database1.Connected:=True;
- DataSource1.DataSet:=Query1;
- Query1.DatabaseName:='linx';
- Query1.SQL.Items.Add('SELECT * FROM new_table;');
- Query1.Active:=True;
- DBGrid1.DataSource:=DataSource1;
В процесі змін властивостей об’єктів програма виведе запит на введення ім’я та пароля користувача, доступ буде здійснений від його імені.
Після цього в таблиці відобразиться увесь вміст таблиці new_table.
Якщо відбувається добавлення данних в таблию то рядка Query1.Active:=True; не потрібно, а також
Query1.SQL.Items.Add('SELECT * FROM new_table;'); міняємо на Query1.SQL.Items.Add('INSERT INTO new_table VALUES (null,'Запись')');
Добавлення має відбуватись процедурою Query1.ExecSQL, наприклад:
Procedure TForm1.Button1Click(Sender: Tobject);
Query1.ExecSQL;
end;
Таким чином при натисканні на кнопку до нашої таблиці добавиться новий рядок.