Solingen
Oct 20th, 2025
22
0
Never
This is comment for paste laba5.accdb
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. -- Каталог (иерархический)
  2. CREATE TABLE Catalog (
  3. ID AUTOINCREMENT PRIMARY KEY,
  4. PARENT_ID LONG,
  5. NAME TEXT(100),
  6. CONSTRAINT fk_parent FOREIGN KEY (PARENT_ID) REFERENCES Catalog(ID)
  7. );
  8.  
  9. -- Книги
  10. CREATE TABLE Books (
  11. ISBN TEXT(20) PRIMARY KEY,
  12. TITLE TEXT(200),
  13. AUTHOR TEXT(100),
  14. PUBLISHER TEXT(100),
  15. PUBLISH_PLACE TEXT(100),
  16. EDITION TEXT(20),
  17. PAGES LONG
  18. );
  19.  
  20. -- Таблица связи "Книга–Каталог" (многие-ко-многим)
  21. CREATE TABLE BookCatalog (
  22. BOOK_ISBN TEXT(20),
  23. CATALOG_ID LONG,
  24. CONSTRAINT pk_BookCatalog PRIMARY KEY (BOOK_ISBN, CATALOG_ID),
  25. CONSTRAINT fk_book FOREIGN KEY (BOOK_ISBN) REFERENCES Books(ISBN),
  26. CONSTRAINT fk_catalog FOREIGN KEY (CATALOG_ID) REFERENCES Catalog(ID)
  27. );
  28.  
  29. -- Экземпляры
  30. CREATE TABLE Copies (
  31. INVENTORY_NO AUTOINCREMENT PRIMARY KEY,
  32. ISBN TEXT(20),
  33. IN_LIBRARY YESNO,
  34. CONSTRAINT fk_copy_book FOREIGN KEY (ISBN) REFERENCES Books(ISBN)
  35. );
  36.  
  37. -- Читатели
  38. CREATE TABLE Readers (
  39. READER_NO AUTOINCREMENT PRIMARY KEY,
  40. FULLNAME TEXT(100),
  41. BIRTHDATE DATETIME,
  42. PHONE_HOME TEXT(20),
  43. PHONE_WORK TEXT(20)
  44. );
  45.  
  46. -- История выдачи экземпляров
  47. CREATE TABLE BorrowHistory (
  48. ID AUTOINCREMENT PRIMARY KEY,
  49. INVENTORY_NO LONG,
  50. READER_NO LONG,
  51. DATE_TAKEN DATETIME,
  52. DATE_RETURN DATETIME,
  53. CONSTRAINT fk_copy FOREIGN KEY (INVENTORY_NO) REFERENCES Copies(INVENTORY_NO),
  54. CONSTRAINT fk_reader FOREIGN KEY (READER_NO) REFERENCES Readers(READER_NO)
  55. );
  56.  
  57. -- Каталог
  58. INSERT INTO Catalog (NAME, PARENT_ID) VALUES ('Книги', NULL);
  59. INSERT INTO Catalog (NAME, PARENT_ID) VALUES ('Научная литература', 1);
  60. INSERT INTO Catalog (NAME, PARENT_ID) VALUES ('Художественная литература', 1);
  61. INSERT INTO Catalog (NAME, PARENT_ID) VALUES ('Физика', 2);
  62. INSERT INTO Catalog (NAME, PARENT_ID) VALUES ('История', 2);
  63.  
  64. -- Книги
  65. INSERT INTO Books (ISBN, TITLE, AUTHOR, PUBLISHER, PUBLISH_PLACE, EDITION, PAGES)
  66. VALUES ('978-5-389-07426-6', 'Краткая история времени', 'Стивен Хокинг', 'АМФОРА', 'СПб', '1-е', 256);
  67.  
  68. INSERT INTO Books (ISBN, TITLE, AUTHOR, PUBLISHER, PUBLISH_PLACE, EDITION, PAGES)
  69. VALUES ('978-5-17-118366-4', 'Война и мир', 'Л. Н. Толстой', 'АСТ', 'Москва', '2-е', 1300);
  70.  
  71. -- Связи книги с каталогом (многие ко многим)
  72. INSERT INTO BookCatalog (BOOK_ISBN, CATALOG_ID) VALUES ('978-5-389-07426-6', 4); -- Физика
  73. INSERT INTO BookCatalog (BOOK_ISBN, CATALOG_ID) VALUES ('978-5-389-07426-6', 2); -- Научная литература
  74. INSERT INTO BookCatalog (BOOK_ISBN, CATALOG_ID) VALUES ('978-5-17-118366-4', 3); -- Художественная литература
  75. INSERT INTO BookCatalog (BOOK_ISBN, CATALOG_ID) VALUES ('978-5-17-118366-4', 5); -- История
  76.  
  77. -- Экземпляры
  78. INSERT INTO Copies (ISBN, IN_LIBRARY) VALUES ('978-5-389-07426-6', TRUE);
  79. INSERT INTO Copies (ISBN, IN_LIBRARY) VALUES ('978-5-17-118366-4', TRUE);
  80.  
  81. -- Читатели
  82. INSERT INTO Readers (FULLNAME, BIRTHDATE, PHONE_HOME, PHONE_WORK)
  83. VALUES ('Иванов Иван Иванович', #1990-05-12#, '123-45-67', '765-43-21');
  84.  
  85. -- История выдачи
  86. INSERT INTO BorrowHistory (INVENTORY_NO, READER_NO, DATE_TAKEN, DATE_RETURN)
  87. VALUES (1, 1, #2025-10-10#, #2025-10-20#);
  88.  
Advertisement
Add Comment
Please, Sign In to add comment