Створення бази даних в pascal (часть2)
Перш ніж проводити будь-які дії з базою даних, її необхідно створити. Для цього створимо програму, яка дозволить ввести з клавіатури дані про 20 співробітників і зберегти ці дані в типізований файл (файл записів).
Рядок №3-№10. Створюємо тип запису «lich_dan». Сюди будемо записувати особисті дані про працівників організації. Запис має 6 полів:
Рядок №4. Поле «fam» будемо використовувати для запису в нього прізвища співробітника. Поле має тип String [15], тобто в нього можна записати прізвище, довжиною не більше 15 символів.
Рядок №5. Поле «imja» використовується для зберігання імені співробітника. Довжина імені не більше 15 символів.
Рядок №6. В поле «otch» будемо записувати по батькові співробітника (також не більше 15 символів).
Рядок №7. В поле «godrog» будемо записувати рік народження співробітника.
Рядок №8. В поле «sem_pol» будемо записувати сімейний стан співробітника. Дане поле має тип Byte, тобто воно може містити число від 0 до 255. На ділі на знадобиться лише 2 числа. Число 1 означатиме, що співробітник одружений / заміжня, число 2 буде означати, що співробітник неодружений / незаміжня. Перед введенням даних необхідно вивести на екран повідомлення: «Натисніть 1, якщо співробітник одружений / заміжня, натисніть 2, якщо співробітник неодружений / незаміжня».
Рядок №9. В поле «kol_det» будемо записувати кількість дітей у співробітника.
Рядок №11-№18. Створюємо ще один тип запису «rab_dan». В компоненти цього типу будемо записувати робочі дані співробітника. Тут також є 6 полів:
Рядок 12. Поле «nom_otd». Тут будемо зберігати інформацію про номер відділу, в якому працює співробітник. За умовою, в організації є 4 відділи.
Рядок №13. Поле «dolgnost» буде містити інформацію про посаду співробітника у відділі. За умовою, в організації є 3 посади: «начальник», «інженер», «асистент», причому в одному відділі може бути тільки один начальник.
Рядок №15. Поле «stag» будемо використовувати для зберігання даних про стаж роботи співробітника.
Рядок №16. Поле «zar_plata» використовується для зберігання інформації про заробітну плату співробітника.
Рядок №17. В поле «secret» запишемо рівень доступу співробітника до секретної інформації (всього в організації є 3 рівня доступу).
Рядок №19-22. Об'єднаємо попередні типи записів в один тип за допомогою вкладених записів.
Рядок №19. Створюємо новий тип запису «anketa». Запис має 2 поля:
Рядок №20. Поле «LD» має тип «lich_dan» (тепер поле «LD» містить всі компоненти записи «lich_dan»).
Рядок №20. Поле «RD» має тип «rab_dan» (тепер поле «RD» містить всі компоненти записи «rab_dan»).
Рядок №23. Відкриваємо розділ для опису змінних.
Рядок №24. Створюємо змінну «sotrudn» і вказуємо для неї тип - масив, що складається з 20 записів типу «anketa». C допомогою цієї змінної ми можемо отримати доступ до будь-якого поля запису і записувати в нього інформацію. Наприклад, щоб отримати доступ до поля «fam» і записати в нього прізвище співробітника необхідно вказати «sotrudn.LD.fam».
Рядок №25. Мінлива «i» буде використовуватися в якості індексу масиву.
Рядок №26. Створюємо файлову змінну «base» для зв'язку з типізованим файлом на жорсткому диску, куди будемо записувати всю інформацію про співробітників.