Solingen

laba5.accdb

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