Cơ sở dữ liệu
Lịch sử > Những năm 1970, DBMS quan hệ

Edgar Codd làm việc tại IBM ở San Jose, California, tại một trong những văn phòng của họ, chủ yếu liên quan đến việc phát triển các hệ thống đĩa cứng. Ông không hài lòng với mô hình hướng đối tượng của phương pháp CODASYL, đáng chú ý là thiếu cơ sở "tìm kiếm". Năm 1970, ông đã viết một số bài báo phác thảo một cách tiếp cận mới để xây dựng cơ sở dữ liệu mà cuối cùng đã đạt đến đỉnh cao trong bài A Relational Model of Data for Large Shared Data Banks.
Trong bài báo này, ông đã mô tả một hệ thống mới để lưu trữ và làm việc với các cơ sở dữ liệu lớn. Thay vì các bản ghi được lưu trữ trong một số loại danh sách các bản ghi dạng tự do được liên kết như trong CODASYL, ý tưởng của Codd là sử dụng " bảng " các bản ghi có độ dài cố định, với mỗi bảng được sử dụng cho một loại thực thể khác nhau. Một hệ thống danh sách liên kết sẽ rất kém hiệu quả khi lưu trữ cơ sở dữ liệu "thưa thớt" trong đó một số dữ liệu cho bất kỳ một bản ghi nào có thể bị bỏ trống. Mô hình quan hệ đã giải quyết điều này bằng cách chia dữ liệu thành một loạt các bảng (hoặc quan hệ) được chuẩn hóa, với các phần tử tùy chọn được chuyển ra khỏi bảng chính đến nơi chúng chỉ chiếm phòng nếu cần. Dữ liệu có thể được chèn, xóa và chỉnh sửa tự do trong các bảng này, với DBMS thực hiện bất kỳ bảo trì nào cần thiết để hiển thị chế độ xem bảng cho ứng dụng / người dùng.
Mô hình quan hệ cũng cho phép nội dung của cơ sở dữ liệu phát triển mà không cần viết lại liên kết và con trỏ. Phần quan hệ xuất phát từ các thực thể tham chiếu các thực thể khác trong mối quan hệ được gọi là mối quan hệ một-nhiều, như mô hình phân cấp truyền thống và mối quan hệ nhiều-nhiều, như mô hình hướng đối tượng (mạng). Do đó, một mô hình quan hệ có thể biểu thị cả mô hình phân cấp và hướng đối tượng, cũng như mô hình bảng gốc của nó, cho phép mô hình thuần túy hoặc kết hợp theo ba mô hình này, như ứng dụng yêu cầu.
Ví dụ, việc sử dụng phổ biến hệ thống cơ sở dữ liệu là theo dõi thông tin về người dùng, tên, thông tin đăng nhập, địa chỉ và số điện thoại khác nhau. Theo cách tiếp cận hướng đối tượng, tất cả các dữ liệu này sẽ được đặt trong một bản ghi và các mục không sử dụng sẽ không được đặt trong cơ sở dữ liệu. Theo cách tiếp cận quan hệ, dữ liệu sẽ được chuẩn hóa thành bảng người dùng, bảng địa chỉ và bảng số điện thoại (ví dụ). Bản ghi sẽ được tạo trong các bảng tùy chọn này chỉ khi địa chỉ hoặc số điện thoại thực sự được cung cấp.
Liên kết thông tin lại với nhau là chìa khóa cho hệ thống này. Trong mô hình quan hệ, một số thông tin được sử dụng làm "khóa", xác định duy nhất một bản ghi cụ thể. Khi thông tin được thu thập về người dùng, thông tin được lưu trữ trong các bảng tùy chọn sẽ được tìm thấy bằng cách tìm kiếm khóa này. Chẳng hạn, nếu tên đăng nhập của người dùng là duy nhất, địa chỉ và số điện thoại của người dùng đó sẽ được ghi lại với tên đăng nhập làm khóa. Việc "liên kết lại" các dữ liệu liên quan trở lại thành một bộ sưu tập đơn giản là điều mà các ngôn ngữ máy tính truyền thống không được thiết kế cho.
Giống như cách tiếp cận hướng đối tượng sẽ yêu cầu các chương trình lặp để thu thập các bản ghi, phương pháp quan hệ sẽ yêu cầu các vòng lặp để thu thập thông tin về bất kỳ một bản ghi nào. Các đề xuất của Codd là một ngôn ngữ được định hướng theo tập hợp, sau này sẽ sinh ra SQL phổ biến. Sử dụng một nhánh toán học được gọi là tính toán tuple, ông đã chứng minh rằng một hệ thống như vậy có thể hỗ trợ tất cả các hoạt động của cơ sở dữ liệu thông thường (chèn, cập nhật, v.v.) cũng như cung cấp một hệ thống đơn giản để tìm và trả về các tập hợp dữ liệu trong một thao tác.
Bài báo của Codd đã được hai người tại Berkeley, Eugene Wong và Michael Stonebraker chú ý. Họ đã bắt đầu một dự án được gọi là INGRES bằng cách sử dụng nguồn vốn đã được phân bổ cho một dự án cơ sở dữ liệu địa lý và các lập trình viên sinh viên để tạo mã. Bắt đầu từ năm 1973, INGRES đã cung cấp các sản phẩm thử nghiệm đầu tiên thường sẵn sàng để sử dụng rộng rãi vào năm 1979. INGRES tương tự như System R theo một số cách, bao gồm cả việc sử dụng "ngôn ngữ" để truy cập dữ liệu, được gọi là QUEL. Theo thời gian, INGRES chuyển sang tiêu chuẩn SQL mới nổi.
Bản thân IBM đã thực hiện một thử nghiệm thực hiện mô hình quan hệ, PRTV và một mô hình sản xuất, Business System 12, cả hai đều đã ngừng hoạt động. Honeywell đã viết MRDS cho Multics, và bây giờ có hai triển khai mới: Alphora Dataphor và Rel. Hầu hết các triển khai DBMS khác thường được gọi là quan hệ thực sự là các DBMS SQL.
Năm 1970, Đại học Michigan đã bắt đầu phát triển Hệ thống quản lý thông tin MICRO dựa trên mô hình Dữ liệu lý thuyết tập hợp của DL Childs. MICRO đã được sử dụng để quản lý các tập dữ liệu rất lớn bởi Bộ Lao động Mỹ, Cục Bảo vệ Môi trường Mỹ, và các nhà nghiên cứu từ Đại học Alberta, trường Đại học Michigan, và trường Đại học Wayne State. Nó chạy trên các máy tính lớn của IBM sử dụng Hệ thống đầu cuối Michigan. Hệ thống vẫn được sử dụng cho đến năm 1998.