Проектування дволанкової розподіленої інформаційної системи для роботи з БД із використанням SQL Interbase
Мета: • створення БД; • створення і використання індексів та переглядів БД; • створення і використання тригерів, генераторів та збережених процедур на боці SQL-сервера; • отримання практичних навичок обміну даними між прикладенням і БД. Завдання: Засобами SQL Interbase необхідно створити БД, декілька індексованих таблиць БД (головну і підлеглі) і декілька їх переглядів, а також зв’язати їх між собою. Засобами С++Builder створити оригінальне(!) прикладення, яке повинне надавати мож-ливість: • перегляду записів зв’язаних таблиць БД, у тому числі попередніх і наступних записів та із використанням створених переглядів; • фільтрації записів БД із виведенням на екран записів, обраних у діалозі за вказаними критеріями; • інкрементального пошуку даних у БД за вказаними критеріями; • додавання і видалення записи таблиці БД, у тому числі із використанням створених на боці SQL-сервера тригерів, генераторів та збережених процедур; • корегування полів поточного запису таблиці БД, у тому числі із використанням створе-ної на боці SQL-сервера збереженої процедури. Вказівки до створення БД: Для створення БД із використанням SQL Interbase необхідно: • завантажити на виконання прикладення InterBase Windows ISQL, яке за звичай зберігає-ться за маршрутом ":\Program Files\InterBase Corp\ InterBase\ Bin\wisql32.exe", наприклад, “E:\Program Files\InterBase Corp\ InterBase\ Bin\wisql32.exe"; • виконати команду File | Create Database … і у віконці, яке з’явилося (мал. 1.1), вказати наведені параметри (параметри можуть бути довільними); • виконати команду Metadata | Show … і у віконці, яке з’явилося (мал. 1.2), у полі View Information On: обрати з меню альтернативу Database. Якщо БД було успішно створено, то у вікні InterBase Windows ISQL з’явиться відповідне повідомлення (мал. 1.3). • виконати команду File | Commit Work для збереження результатів роботи на диску; • далі (вже засобами С++ Builder) командою Database | Explore завантажити на виконання прикладення Database Explore, командою Object | New | INTRBASE створити аліас dbP, обрати його на вкладинці Databases і вказати параметри, які наведено на мал. 1.4; потім виконати команду Object | Apply для збереження зроблених змін; • у прикладенні InterBase Windows ISQL виконати команду File | Run an ISQL Script … і у вікні, що з’явилося (мал. 1.5), вказати ім’я файлу Createdb.sql, в якому набрано скрипт для створення таблиць БД;
Малюнок 1.1 Малюнок 1.2 Малюнок 1.3 Малюнок 1.4 Малюнок 1.5 Вміст цього файлу наведено нижче: /* з’єднаннязБД */ CONNECT "e:\Lr2\dbP\dbP.gdb" USER "SYSDBA" PASSWORD "masterkey"; /* створеннятаблиці PERS */ create table pers( Num smallint Not Null Primary Key, Dep char(15), Fam char(20) Not Null, Nam char(20) Not Null, Par char(20) Not Null, Year_b smallint, Sex char(1), Charact blob, Photo blob ); /* створеннятаблиці DEP */ create table dep( Dep char(15) Not Null Primary Key, Proisv char(15) ); /* заповненнятаблиці PERS */ Insert Into PERS(Num, Dep, Fam, Nam, Par, Year_b, Sex) Values(1, "Бухгалтерія", "Іванов", "Іван", "Іванович", 1950, "ч"); Insert Into PERS(Num, Dep, Fam, Nam, Par, Year_b, Sex) Values(2, "Цех 1", "Петров", "Петро", "Петрович", 1960, "ч"); Insert Into PERS(Num, Dep, Fam, Nam, Par, Year_b, Sex) Values(3, "Цех 2", "Сидоров", "Сидор", "Сидорович", 1955, "ч"); Insert Into PERS(Num, Dep, Fam, Nam, Par, Year_b, Sex) Values(4, "Цех 1", "Іванова", "Ірина", "Іванівна", 1971, "ж"); Insert Into PERS(Num, Dep, Fam, Nam, Par, Year_b, Sex) Values(5, "Бухгалтерія", "Миколаєв", "Микола", “Миколайович", 1930, "ч”); Insert Into PERS(Num, Dep, Fam, Nam, Par, Year_b, Sex) Values(6, "Цех 2", "Андрієв", "Андрій", "Андрійович", 1930, "ч"); Insert Into PERS(Num, Dep, Fam, Nam, Par, Year_b, Sex) Values(7, "Цех 1", "Борисов", "Борис", "Борисович", 1937, "ч"); Insert Into PERS(Num, Dep, Fam, Nam, Par, Year_b, Sex) Values(8, "Цех 1", "Павлов", "Павло", "Павлович", 1975, "ч"); Insert Into PERS(Num, Dep, Fam, Nam, Par, Year_b, Sex) Values(9, "Бухгалтерія", "Антонова", "Антоніна", "Антонівна", 1965, "ж"); Insert Into PERS(Num, Dep, Fam, Nam, Par, Year_b, Sex) Values(10, "Цех 2", "Харитонов", "Харитон", "Харитонович", 1962, "ч"); Insert Into PERS(Num, Dep, Fam, Nam, Par, Year_b, Sex) Values(11, "Цех 2", "Іванников", "Іван", "Іванович", 1975, "ч"); /* заповнення таблиці DEP */ Insert Into DEP( Dep,Proisv) Values("Бухгалтерія", "управління"); Insert Into DEP( Dep,Proisv) Values("Цех 1", "виробництво"); Insert Into DEP( Dep,Proisv) Values("Цех 2", "виробництво"); Commit; Після натискання кнопки Открыть треба вказати, що результати виконання скрипту необхідно зберігати у файлі Result.txt. Скрипт виконується. Оглянути схему створеної таблиці (наприклад, таблиці PERS) можна командою Meta-data | Show … (мал. 1.6) Малюнок 1.6 SHOW TABLE PERS NUM SMALLINT Not Null DEP CHAR(15) Nullable FAM CHAR(20) Not Null NAM CHAR(20) Not Null PAR CHAR(20) Not Null YEAR_B SMALLINT Nullable SEX CHAR(1) Nullable CHARACT BLOB segment 80, subtype UNKNOWN Nullable PHOTO BLOB segment 80, subtype UNKNOWN Nullable CONSTRAINT INTEG_2: Primary key (NUM) Оглянутивмістствореноїтаблиці (наприклад, таблиці PERS) можнанаборомзапиту Select * from PERS увікні InterBase Windows ISQL, абожзадопомогою Database Explore (мал. 1.7): Малюнок 1.7 • створитиіндекситаблиці PERS, длячоговиконатискрипт, щоміститьсяуфайлі CreateINDEXESdbP.sql: /* З'єднаннязБД */ CONNECT "e:\Lr3\dbP\dbP.gdb" USER "SYSDBA" PASSWORD "masterkey"; /* Створенняіндексів */ create index Person On PERS Fam,Nam,Par; create index DepPerson On PERS Dep,Fam,Nam,Par; create index Year On PERS Year_b; • створитипереглядитаблиці PERS, длячоговиконатискрипт, щоміститьсяуфайлі CreateVIEWSdbP.sql: /* З'єднаннязБД */ CONNECT "e:\Lr3\dbP\dbP.gdb" USER "SYSDBA" PASSWORD "masterkey"; /* Створення переглядів таблиці PERS за підрозділами */ Create VIEW dep_1 as select Dep, Num, Fam, Nam, Par, Year_b, Sex from Pers where Dep = "Бухгалтерія"; Create VIEW dep_2 as select Dep, Num, Fam, Nam, Par, Year_b, Sex from Pers where Dep = "Цех 1"; Create VIEW dep_3 as select Dep, Num, Fam, Nam, Par, Year_b, Sex from Pers where Dep = "Цех 2"; • далізасобамиС++ Builder командою Database | Explore завантажитинавиконанняприкладення Database Explore ізйогодопомогоюстворитигенератор PERSGEN, якпоказанонамал. 1.8; Малюнок 1.8 • створититриггер PERSSWITCH таблиці PERS, длячоговиконатискрипт, щомісти-тьсяуфайлі CreateTRIGGERdbP.sql: CONNECT "e:\Lr3\dbP\dbP.gdb" USER "SYSDBA" PASSWORD "masterkey"; /* Створення триггера PERSSWITCH для збільшення номера запису під час вставки запису у таблицю */ SET TERM ^; CREATE TRIGGER PERSSWITCH FOR PERS BEFORE INSERT AS BEGIN NEW.NUM = GEN_ID(PERSGEN, 1); END;^ SET TERM ;^ COMMIT; • створити на боці SQL-сервера виконуємі процедури вставки (INSERTdbP), видалення (DELETEdbP) та корегування (UPDATEdbP) таблиці PERS, для чого: • виконати скрипт, що міститься у файлі CreateProcINSERTdbP.sql: CONNECT "e:\Lr3\dbP\dbP.gdb" USER "SYSDBA" PASSWORD "masterkey"; /* Виконуємапроцедура INSERTdbP. Додаєданіпроспівробітника, вертаєномерзапису */ SET TERM ^; CREATE PROCEDURE INSERTdbP ( pDEP CHAR(15), pFAM CHAR(20), pNAM CHAR(20), pPAR CHAR(20), pYEAR_B INTEGER, pSEX CHAR(1) ) AS BEGIN Insert into PERS (DEP, FAM, NAM, PAR, YEAR_B, SEX) VALUES (:pDEP, :pFAM, :pNAM, :pPAR, :pYEAR_B, :pSEX); END;^ SET TERM ;^ COMMIT; • виконатискрипт, щоміститьсяуфайліCreateProcDELETEdbP.sql: CONNECT "e:\Lr3\dbP\dbP.gdb" USER "SYSDBA" PASSWORD "masterkey"; /* Виконуєма процедура DELETEdbP знищення даних про співробітника */ SET TERM ^; CREATE PROCEDURE DELETEdbP ( pNUM INTEGER ) AS BEGIN DELETE FROM PERS WHERE NUM = :pNUM; END;^ SET TERM ;^ COMMIT; • виконати скрипт, що міститься у файлі CreateProcUPDATEdbP.sql: CONNECT "e:\Lr3\dbP\dbP.gdb" USER "SYSDBA" PASSWORD "masterkey"; /* Виконуємапроцедура UPDATEdbP. Змінюєданіпроспівробітника, вертаєномерзаписучи 0, якщоспівробітниканема */
Рефераты по информатикеМета: • створення БД; • створення і використання індексів та переглядів БД; • створення і використання тригерів, генераторів та збережених процедур
Оценок: 596 (Средняя 5 из 5)
Наверняка у вас есть товары или услуги, продажа которых приносит вам максимальную прибыль. Для быстрого старта в сети вам необходимо создание посадочной страницы (одностраничного сайта), на которой будет размещена информация о маржинальных товарах/услугах интернет магазина. За 8 лет опыта разработки конверсионных страниц мы выработали оптимальную структуру, которая позволит привлекать через landing page больше продаж. На такую структуру «одевается» ваш контент — фирменный стиль, тексты, фотографии, уникальные торговые предложения, после чего страница выходит в свет. Разработка лендинга и запуск в сети — до 7 рабочих дней. Стоит отметить, что в разработку самой посадочной страницы входит и написание копирайтером продающих текстов для вашего бизнеса, чтобы каждый посетитель страницы захотел совершить покупку именно у вас. Результат: качественно разработаная продающая посадочная страница, которая готова приносить вам новых клиентов.