Cơ sở dữ liệu và quản lý của họ. Tệp cơ sở dữ liệu có phần mở rộng Ms access gán phần mở rộng cho tệp cơ sở dữ liệu

Định dạng tệp .accdb được giới thiệu trong Access 2007 mang lại nhiều lợi ích không có ở các định dạng tệp trước đó. Nếu bạn đang nâng cấp lên từ phiên bản Access trước Access 2007, bạn có thể có các tệp cơ sở dữ liệu sử dụng định dạng tệp .mdb. Trong hầu hết các trường hợp, bạn nên lưu các cơ sở dữ liệu này bằng định dạng tệp .accdb. Bạn có thể giữ một bản sao của tệp .mdb gốc để giúp bạn xác minh rằng quá trình chuyển đổi diễn ra tốt đẹp.

Bài viết này giải thích những lợi ích của định dạng tệp .accdb, lý do tại sao bạn có thể muốn sử dụng định dạng tệp .mdb và cách chuyển đổi cơ sở dữ liệu sang định dạng tệp mới.

Trong bài viết này

Định dạng tệp .accdb

Bắt đầu với Access 2007, .accdb là định dạng tệp Access mặc định. Định dạng tệp .accdb hỗ trợ một số tính năng mới hơn, chẳng hạn như trường tính toán và tệp đính kèm. Tuy nhiên, có một số trường hợp trong đó định dạng tệp .accdb có thể không phải là lựa chọn phù hợp.

Các tính năng được cung cấp bởi định dạng tệp .accdb

    Trường đa giá trị Trường đa giá trị là một loại trường tra cứu cho phép bạn lưu trữ nhiều giá trị cho mỗi bản ghi. Ví dụ: giả sử bạn cần phân công nhiệm vụ cho nhiều nhân viên. Trong tệp .accdb, bạn có thể tạo trường đa giá trị để lưu trữ những nhân viên được giao nhiệm vụ. Tên của nhân viên có thể được chọn từ bảng hoặc danh sách giá trị.

    Các trường đa giá trị giúp bạn dễ dàng chọn và lưu trữ nhiều lựa chọn mà không cần phải tạo thiết kế cơ sở dữ liệu nâng cao hơn. Các trường đa giá trị cũng rất quan trọng để tích hợp với SharePoint vì danh sách SharePoint cũng hỗ trợ các trường đa giá trị.

    Kiểu dữ liệu đính kèm Kiểu dữ liệu Tệp đính kèm cho phép bạn dễ dàng lưu trữ tất cả các loại tài liệu và tệp nhị phân trong cơ sở dữ liệu của mình đồng thời giúp bạn giữ tệp cơ sở dữ liệu ở dưới giới hạn kích thước tệp 2GB – tệp đính kèm được nén tự động. Một bản ghi có thể có nhiều tệp đính kèm nhưng chỉ có thể có một trường tệp đính kèm trên mỗi bảng.

    Tích hợp tốt hơn với SharePoint và OutlookĐịnh dạng tệp .accdb hỗ trợ các yêu cầu bảo mật SharePoint và Outlook không được tệp .mdb hỗ trợ. Điều này giúp có thể tích hợp Access đầy đủ hơn với SharePoint và Outlook.

    Cải thiện mã hóa Bạn có thể chọn đặt mật khẩu cơ sở dữ liệu và mã hóa nội dung cơ sở dữ liệu của mình. Khi bạn làm như vậy bằng định dạng tệp .accdb, theo mặc định, Access sẽ sử dụng API Windows Crypto để mã hóa dữ liệu. Các công cụ mã hóa của bên thứ ba cũng có thể được sử dụng.

    Theo dõi lịch sử trường Văn bản dài (Bản ghi nhớ) Các trường Văn bản dài (Bản ghi nhớ) rất hữu ích để lưu trữ lượng lớn thông tin. Khi bạn sử dụng định dạng tệp .accdb, bạn có thể đặt thuộc tính ( Chỉ nối thêm) buộc Access phải giữ lại lịch sử của tất cả các thay đổi đối với trường Văn bản dài (Bản ghi nhớ). Sau đó, bạn có thể xem lịch sử của những thay đổi đó. Tính năng này cũng hỗ trợ tính năng lập phiên bản trong SharePoint để bạn có thể sử dụng Access để theo dõi các thay đổi trong nhiều dòng của trường văn bản được lưu trữ trong danh sách SharePoint (với điều kiện là trường đó có Nối các thay đổi vào văn bản hiện có tùy chọn được đặt thành Đúng).

    Kiểu dữ liệu được tính toán Bắt đầu từ Access 2010, định dạng tệp .accdb hỗ trợ sử dụng kiểu dữ liệu được tính toán. Bạn có thể sử dụng kiểu dữ liệu được tính toán để lưu trữ kết quả của biểu thức mà bạn xác định.

Các định dạng tệp .mdb

Trước khi định dạng tệp .accdb được giới thiệu trong Access 2007, các định dạng tệp Access đã sử dụng phần mở rộng tệp .mdb. Có nhiều phiên bản khác nhau của định dạng tệp .mdb.

Bạn vẫn có thể mở một số tệp .mdb. Nếu tệp được lưu trữ ở định dạng tệp Access 2002-2003 hoặc Access 2000, bạn có thể mở tệp và sử dụng bình thường. Tuy nhiên, bạn không thể tận dụng các tính năng yêu cầu định dạng tệp .accdb.

Nếu bạn dựa vào các tính năng không có sẵn trong tệp .accdb, đừng chuyển đổi tệp – hãy để nó dưới dạng tệp .mdb.

Các tính năng của tệp .mdb không có sẵn trong tệp .accdb

    Môi trường phiên bản hỗn hợp Không thể mở định dạng tệp .accdb –hoặc thậm chí không thể liên kết với –sử dụng các phiên bản Access trước Access 2007. Nếu có người trong tổ chức của bạn có phiên bản Access cũ hơn, bạn nên cân nhắc xem liệu sử dụng tệp .mdb có tốt hơn không lựa chọn. Nhưng đừng quên – bạn có thể sử dụng ứng dụng Access hoặc cơ sở dữ liệu web trong trình duyệt web, bất kể Access có được cài đặt hay không.

    Sao chép cơ sở dữ liệu Bạn không thể sử dụng tính năng sao chép trong tệp .accdb. Nếu giải pháp Access của bạn sử dụng tính năng sao chép, bạn sẽ cần tạo lại giải pháp mà không cần sao chép nếu muốn sử dụng định dạng tệp .accdb.

    Bảo mật ở cấp độ người dùngĐịnh dạng tệp .accdb không hỗ trợ bảo mật cấp người dùng, một tính năng cung cấp cách giúp mọi người chỉ nhìn thấy những gì họ cần xem. Bảo mật ở cấp độ người dùng không còn hiệu quả đối với bảo mật dữ liệu vì phương thức bảo mật của nó hiện đã lỗi thời và dễ bị xâm phạm. Tuy nhiên, bảo mật ở cấp độ người dùng có thể cải thiện khả năng sử dụng bằng cách giữ mọi thứ đơn giản cho mọi người – ví dụ: nếu ai đó không có lý do kinh doanh để sử dụng một biểu mẫu cụ thể, bạn có thể ẩn biểu mẫu đó với họ. Nếu bạn có giải pháp Access dựa trên bảo mật cấp người dùng để cải thiện khả năng sử dụng, bạn có thể muốn tiếp tục sử dụng định dạng tệp .mdb để có thể tiếp tục sử dụng giải pháp của mình như hiện tại.

Chuyển đổi sang định dạng tệp mới

Để chuyển đổi tệp .mdb sang định dạng tệp .accdb, hãy mở tệp rồi lưu nó ở định dạng tệp .accdb.

Quan trọng: Quy trình sau đây dành cho các tệp .mdb được tạo trong Access 97, Access 2000, Access 2002 hoặc Access 2003.

Đầu tiên, mở cơ sở dữ liệu của bạn:

    Nhấn vào Tài liệu chuyển hướng.

    Ở bên trái, hãy nhấp vào Mở.

    bên trong Mở hộp thoại, chọn và mở cơ sở dữ liệu mà bạn muốn chuyển đổi.

Bây giờ, chuyển đổi cơ sở dữ liệu của bạn:

    Nhấn vào Tài liệu chuyển hướng.

    Ở bên trái, hãy nhấp vào Lưu thành.

    Dưới Loại tập tin, nhấp chuột Lưu cơ sở dữ liệu dưới dạng.

    Ở bên phải, dưới Các loại tệp cơ sở dữ liệu, nhấp chuột Truy cập cơ sở dữ liệu.

    bên trong Lưu thành hộp thoại, trong Tên tập tin nhập tên tệp hoặc sử dụng tên tệp được cung cấp.

    Nhấp chuột Cứu.

    Một bản sao của cơ sở dữ liệu được tạo ở định dạng tệp .accdb.

Chương trình cài đặt ghi tệp cơ sở dữ liệu (DB) vào đĩa máy tính. Nó là cần thiết cho sự ra mắt đầu tiên của chương trình. Nó có thể được sử dụng trong tương lai để tạo cơ sở dữ liệu về cài đặt công nghệ và duy trì cơ sở dữ liệu về đơn đặt hàng. Nhưng trước khi bạn bắt đầu sử dụng tệp DB này - tải Cấu trúc và/hoặc thực hiện cài đặt theo cách thủ công - bạn cần CƠ CẤU LẠI tệp DB.

Điều cũng thường xảy ra là cần phải tạo một số cơ sở dữ liệu khác nhau - cho các đại lý, để lưu trữ đơn hàng, để thử nghiệm, để cập nhật, v.v.

Mục đích của phần này là giúp người dùng làm quen với các cơ chế tạo tệp cơ sở dữ liệu mới và thiết lập chương trình để đảm bảo làm việc dễ dàng với một số cơ sở dữ liệu bằng cách tạo Cấu hình và chuyển đổi giữa chúng.

Tạo một tập tin cơ sở dữ liệu.

Để tạo tệp cơ sở dữ liệu, người dùng phải có quyền quản trị viên trên máy tính của mình và quyền truy cập vào phần "Quản trị" trong PC ProfStroy 4. Nếu bạn có thẩm quyền được chỉ định, bạn phải vào phần "Sự quản lý"Để đánh dấu "Tạo cơ sở dữ liệu."

Trong ví dụ của chúng tôi, một thư mục đã tạo trước đó được chọn để tạo tệp cơ sở dữ liệu C:KIỂM TRA DBPS4PS Tệp cơ sở dữ liệu được đặt tên base12.fdb . Khi tên thư mục và tệp đã được xác định, hãy nhấp vào nút “Tạo” và một tệp cơ sở dữ liệu trống, mới sẽ được tạo. Chương trình thông báo về điều này:

Vì thế. Tệp cơ sở dữ liệu được tạo và đặt ở một vị trí cụ thể trên đĩa máy tính. Nhưng đây chỉ là một cơ sở dữ liệu “trống” - chưa có nội dung có ý nghĩa nào trong đó. Để bắt đầu làm việc với tệp này, hãy kết nối với nó.

Để kết nối với tệp cơ sở dữ liệu, bạn cần truy cập " Dữ liệu hệ thống"

Trong trường "Cơ sở dữ liệu FireBird", chỉ định đường dẫn đến tệp cơ sở dữ liệu - trong trường hợp của chúng tôi là: C:DBPS4PS TESTBASE12.FDB. Tiếp theo, hãy chuyển sang tạo Cấu hình.

Cấu hình là sự kết hợp của tệp cơ sở dữ liệu và một số thư mục dịch vụ:

    thư mục sao lưu;

    các thư mục để lưu trữ các tệp đính kèm (thường là các tệp hình ảnh của các phần hồ sơ, hình ảnh của MC, đơn vị cấu trúc, Sáng tác, Bộ dụng cụ, v.v.);

    các thư mục để tạo các tệp tạm thời (được sử dụng khi chương trình đang chạy để tạo, chẳng hạn như các tệp hình ảnh về hình thức sản phẩm để báo cáo. Xóa sau khi đóng chương trình;);

    các thư mục lưu trữ tệp xuất dữ liệu sang 1C - Tệp định dạng XML được lưu trữ tại đây;

    các thư mục của thư mục lưu trữ dự án - các tệp bản sao lưu trữ của dự án được lưu trữ trong đó.

Cần lưu ý rằng khi làm việc với một số tệp cơ sở dữ liệu, việc tạo Cấu hình có những đặc điểm riêng. Vì vậy, ví dụ: thư mục 2 và 3 có thể dùng chung cho tất cả Cấu hình và các thư mục 1,4,5 phải là duy nhất cho mỗi Cấu hình.

Sau khi các thư mục đã được xác định, cờ " Lưu cấu hình dưới dạng...", trong trường được kích hoạt, gán tên duy nhất cho Cấu hình và nhấp vào nút " Lưu cấu hình". Ngoài ra, khi sử dụng một số Cấu hình, bạn nên đặt cờ "Yêu cầu cấu hình khi khởi động chương trình." Trong trường hợp này, khi bạn khởi động PC ProfStroy 4, một danh sách Cấu hình sẽ được hiển thị để chọn cấu hình trong đó công việc.

Sau đó, nhấp vào nút "Áp dụng". Chương trình sẽ tạo Cấu hình, tạo thư mục và nhắc bạn chọn người dùng:

Bởi vì Tệp cơ sở dữ liệu trống - không có người dùng nào trong đó. Người dùng đầu tiên phải được tạo ngay bây giờ - trong trường "Người dùng", nhập tên thuận tiện (trong trường hợp của chúng tôi là ADMIN) và nhấp vào nút "Áp dụng". Chương trình sẽ thông báo cho bạn rằng người dùng không tồn tại và yêu cầu xác nhận việc tạo.

Sau đó, bạn sẽ đăng nhập vào cơ sở dữ liệu. Người dùng đã tạo sẽ có mọi quyền trong cơ sở dữ liệu này. Trong tương lai, bạn có thể gán mật khẩu cho nó, cũng như tạo những người dùng khác của hệ thống, nếu có nhiều người dự kiến ​​​​làm việc với cơ sở dữ liệu, hãy gán cho họ quyền hạn, mật khẩu thích hợp, v.v.

Cơ sở dữ liệu đã được tạo, cấu hình đã được xác định. Bây giờ bạn có thể chuyển sang thiết lập phần công nghệ của cơ sở dữ liệu.

Nếu việc sử dụng mẫu để giải quyết vấn đề của bạn không hợp lý thì bạn có thể tạo cơ sở dữ liệu từ đầu. Vì Access lưu trữ tất cả các bảng cơ sở dữ liệu cũng như các đối tượng khác trong một tệp nên bạn phải tạo một tệp cơ sở dữ liệu trống trước khi có thể tạo bảng cơ sở dữ liệu.

Để tạo một tệp cơ sở dữ liệu trống mới, hãy nhấp vào phần tử trong vùng tạo cơ sở dữ liệu của cửa sổ Access start Cơ sở dữ liệu mới(Cơ sở dữ liệu trống).

Chọn một tùy chọn Cơ sở dữ liệu mới(Cơ sở dữ liệu trống) hoặc Cơ sở dữ liệu web trống(Cơ sở dữ liệu web trống) xác định các chức năng có sẵn để làm việc với cơ sở dữ liệu. Cơ sở dữ liệu trên máy tính không thể được xuất bản lên Internet và cơ sở dữ liệu web không hỗ trợ một số tính năng cơ sở dữ liệu trên máy tính, chẳng hạn như truy vấn tóm tắt.

Ở bên phải, trong khu vực Cơ sở dữ liệu mới(Cơ sở dữ liệu trống), nhập tên tệp vào trường Tên tập tin(Tên File), ví dụ Cung hàng.accdb.

Khi chỉ định tên của tệp cơ sở dữ liệu, bạn nên lưu ý rằng nó không được chứa các ký tự sau: \ / : * ? »< >| và độ dài tối đa của nó là 215 ký tự, bao gồm cả dấu cách.

Bên dưới tên là tên của thư mục nơi tệp cơ sở dữ liệu sẽ được lưu theo mặc định. Nếu bạn cần lưu tập tin vào thư mục khác, hãy nhấp vào biểu tượng Tìm vị trí để lưu trữ cơ sở dữ liệu(Duyệt tìm vị trí để đặt cơ sở dữ liệu của bạn) (ở bên phải tên tệp cơ sở dữ liệu) và trong cửa sổ Tệp cơ sở dữ liệu mới(Tệp cơ sở dữ liệu mới) mở thư mục mong muốn.

BÌNH LUẬN
Để thay đổi thư mục mặc định cho các tệp cơ sở dữ liệu mới Tai liệu của tôi tab (Tài liệu của tôi) Tài liệu(Tệp) chạy lệnh Tùy chọn Là phổ biến(Chung) trong phần Tạo cơ sở dữ liệu(Tạo cơ sở dữ liệu) trong lĩnh vực này Thư mục làm việc(Thư mục cơ sở dữ liệu mặc định) bằng nút Ôn tập(Duyệt), chọn đường dẫn đến thư mục mà bạn muốn lưu trữ cơ sở dữ liệu mới.

Trong cửa sổ Tệp cơ sở dữ liệu mới(Tệp cơ sở dữ liệu mới) trong trường Loại tệp(Save as type) chọn định dạng của cơ sở dữ liệu đã tạo. Theo mặc định, định dạng tệp là Cơ sở dữ liệu Microsoft Office Access 2007 (*.accdb)(Cơ sở dữ liệu Microsoft Access 2007). Access 2010 vẫn giữ định dạng cơ sở dữ liệu Access 2007. Cơ sở dữ liệu ở định dạng Access 2007 được lưu trong các tệp có phần mở rộng .accdb. Trong các phiên bản trước, cơ sở dữ liệu được lưu trong các tệp có phần mở rộng mdb.

BÌNH LUẬN
Để thay đổi định dạng mặc định đã chọn cho cơ sở dữ liệu mới trên tab Tài liệu(Tệp) chạy lệnh Tùy chọn(Tùy chọn) và trong hộp thoại xuất hiện trên tab Là phổ biến(Chung) trong phần Tạo cơ sở dữ liệu(Tạo cơ sở dữ liệu) trong lĩnh vực này Định dạng tệp mặc định cho cơ sở dữ liệu trống(Định dạng tệp mặc định cho Cơ sở dữ liệu trống) chọn định dạng mong muốn.

Sau khi kết thúc việc lựa chọn trong cửa sổ Tệp cơ sở dữ liệu mới(Tệp cơ sở dữ liệu mới) bằng cách nhấp vào nút Tạo nên(Tạo) Hoàn tất quá trình tạo tệp cơ sở dữ liệu mới trống. Kết quả là cửa sổ cơ sở dữ liệu đã tạo sẽ mở ra với một bảng trống có tên Bảng 1(Bảng 1) ở chế độ bảng. Con trỏ ở ô trống đầu tiên của cột Nhấp để thêm(Nhấp để thêm). Bây giờ bạn có thể bắt đầu tạo bảng này và các đối tượng khác trong cơ sở dữ liệu gốc mới.

Khi tạo tệp cơ sở dữ liệu mới, bạn có thể chọn định dạng được thiết kế để hoạt động với cơ sở dữ liệu được lưu trữ trên máy chủ SQL. Định dạng cuối cùng được gọi là Microsoft Access Projects (*.adp). Dự án nhằm phát triển các đối tượng tạo nên ứng dụng người dùng. Bản thân cơ sở dữ liệu, mặc dù có thể được phát triển trong môi trường dự án, nhưng được lưu trữ trên máy chủ và có định dạng phù hợp. Các dự án được lưu trong các tệp có phần mở rộng adp.

Khi tạo dự án, bạn có thể kết nối với cơ sở dữ liệu hiện có trên máy chủ hoặc tạo cơ sở dữ liệu mới trên máy chủ.

Và chúng tôi có một video về chủ đề này:

Chúng ta sẽ tìm hiểu cách tạo bảng trong cơ sở dữ liệu MS Access 2010.

Để tạo cơ sở dữ liệu, tiện ích được khởi chạy IBConsol và một phiên giao tiếp với máy chủ cục bộ được thiết lập. Sau đó lệnh được đưa ra từ menu chính của tiện ích

Công cụ - » SQL tương tác

Trong trường hợp này, một hộp thoại xuất hiện trên màn hình "SQL tương tác"để mô tả các đặc điểm của tệp cơ sở dữ liệu (Hình 5.1), trong trường làm việc mà yêu cầu tạo cơ sở dữ liệu được viết.

Để thực hiện yêu cầu, bạn phải nhập lệnh từ bàn phím Điều khiển + E hoặc từ menu chính đưa ra lệnh

Cơm. 4.1. Khởi động máy chủ liên cơ sở

Tạo một tập tin cơ sở dữ liệu

Tệp cơ sở dữ liệu là nơi chứa các tệp khác được lưu trữ trong đó, chẳng hạn như tệp bảng, tệp chỉ mục, dạng xem, v.v. Tệp cơ sở dữ liệu được tạo một lần và không thể sửa đổi sau này. Bên trong tệp cơ sở dữ liệu có một số khu vực được gọi là siêu dữ liệu. Bên trong khu vực này là các khối chương trình được lưu trữ chứa các mô tả được biên dịch về trình kích hoạt, các thủ tục được lưu trữ và trình tạo.

Yêu cầu 501 được sử dụng để tạo một tệp cơ sở dữ liệu trống. TẠO NÊN CƠ SỞ DỮ LIỆU. Tệp cơ sở dữ liệu đã tạo sau đó sẽ chứa các tệp cho bảng, chỉ mục, dạng xem, v.v.

Định dạng yêu cầu

TẠO Lược đồ cơ sở dữ liệu

[ NGƯỜI DÙNG [ MẬT KHẨU ] ]

[ KÍCH THƯỚC TRANG [ = ] ]

[ CHIỀU DÀI [ = ] [ TRANG[S]]]

[ BỘ KÝ TỰ MẶC ĐỊNH] f ];

nơi tùy chọn có cấu trúc

TÀI LIỆU[có cấu trúc

CHIỀU DÀI [=] [ TRANG [ S ] ] BẮT ĐẦU [ TẠI [ TRANG) )

Mục đích của các tham số:

Chỉ định tên đầy đủ của tệp cơ sở dữ liệu. Tên được viết theo quy tắc của nền tảng được sử dụng;

NGƯỜI DÙNG- tên của người dùng (chủ sở hữu) cơ sở dữ liệu được chỉ định. Mỗi lần cơ sở dữ liệu được truy cập, tên người dùng sẽ được yêu cầu để nhận dạng anh ta;

MẬT KHẨU- chỉ định mật khẩu được yêu cầu mỗi khi bạn truy cập cơ sở dữ liệu. Mật khẩu được yêu cầu cùng với tên người dùng (USER

KÍCH THƯỚC TRANG[ = ] - đặt kích thước của trang cơ sở dữ liệu theo byte. Cho phép các kích thước trang đơn sau đây: 1024 (mặc định), 2048, 4096 và 8192;

BỘ KÝ TỰ MẶC ĐỊNH- tham số xác định tập hợp các ký tự sẽ được sử dụng để lưu trữ dữ liệu trong cơ sở dữ liệu. Nghĩa là, các ký hiệu của bảng chữ cái quốc gia được chỉ định. Bộ mặc định là KHÔNG CÓ, tức là chỉ cho phép các ký tự trong bảng chữ cái tiếng Anh. Để sử dụng các chữ cái trong bảng chữ cái tiếng Nga và tiếng Anh khi lưu trữ dữ liệu ký tự, bạn nên chỉ định tập hợp WIN 1251. Bộ ký tự được chỉ định một lần khi tạo cơ sở dữ liệu. Bạn có thể thay đổi mã hóa mặc định hoặc tùy chọn này khi xác định các tên miền hoặc cột cụ thể;

TÀI LIỆU- cho biết tên của một hoặc nhiều tệp tạo nên một cơ sở dữ liệu. Tên của mỗi tệp được chỉ định dưới dạng tùy chọn riêng TÀI LIỆU ;

BẮT ĐẦU [TẠI [TRANG]]- xác định trang bắt đầu của tệp cơ sở dữ liệu tương ứng (đối với cơ sở dữ liệu nhiều tệp);

CHIỀU DÀI [=] [ TRANG[S]] - chỉ định kích thước của tệp hiện tại trong các trang. Mặc định là 75 trang. Số trang tối thiểu của một tập tin là 50.

Nếu một tệp cơ sở dữ liệu được xác định (mặc định), giả định rằng nó sẽ chiếm toàn bộ dung lượng đĩa khi các bản ghi mới được thêm vào. Cách tiếp cận này không hợp lý khi không gian đĩa máy chủ được sử dụng bởi một số cơ sở dữ liệu. Do đó, các hạn chế được đặt ra đối với kích thước của tệp (hoặc các tệp). Trong trường hợp này, các tệp riêng lẻ tạo nên một cơ sở dữ liệu có thể được lưu trữ trên các phương tiện vật lý khác nhau. Tệp đầu tiên tạo nên một cơ sở dữ liệu duy nhất được gọi là sơ đẳng và các tập tin còn lại là sơ trung. Các tệp phụ có thể khác nhau về tên, phần mở rộng và vị trí lưu trữ. Khi đặt tham số cho tệp phụ, một số thành phần là tùy chọn và có thể bỏ qua, chẳng hạn như dấu bằng. Lệnh bên dưới (Ví dụ 5.1) tạo một tệp cơ sở dữ liệu bên trong thư mục (thư mục) làm việc hiện tại.

Mật khẩu và tên người dùng được chỉ định trong câu lệnh này được máy chủ kiểm tra mỗi lần truy cập cơ sở dữ liệu để nhận dạng người dùng. Quyền và đặc quyền truy cập cơ sở dữ liệu được xác định bởi nhà điều hành KHOẢN TRỢ CẤP, sẽ được thảo luận dưới đây.

Kích thước trang cho toàn bộ cơ sở dữ liệu là cố định và có thể là một trong các giá trị sau: 1024, 2048, 4096 hoặc 8192 byte. Kích thước mặc định là 1024 byte. Trao đổi dữ liệu giữa ứng dụng khách và cơ sở dữ liệu được thực hiện theo kích thước trang. Việc tăng kích thước trang sẽ làm giảm thời gian xử lý dữ liệu (thực hiện truy vấn) bằng cách giảm số lượng thao tác đọc, nhưng việc tăng kích thước trang chỉ hợp lý nếu mẫu dữ liệu (mảnh thông tin) lớn. Nếu kích thước mẫu nhỏ khi kích thước trang lớn thì không gian trang không được sử dụng hiệu quả.

Ví dụ 5.1. Tạo cơ sở dữ liệu nhiều tệp (phân tán).

TẠO CƠ SỞ DỮ LIỆU D:SKAZKABOOK.GDB NGƯỜI DÙNG "SYSDBA" MẬT KHẨU "masterkey"

TẬP TIN D:SKAZKABOOK.GDl BẮT ĐẦU TẠI TRANG 1501 CHIỀU DÀI 100

TẬP TIN D:SKAZKABOOK.GD2

Trên đĩa D bên trong thư mục "SKAZKA" một cơ sở dữ liệu được tạo bao gồm ba tệp:

  • tập tin đầu tiên có tên SÁCH.GDB có kích thước trang là 1024 byte (mặc định), số trang 1500 (từ 1 đến 1500, kể từ tệp thứ hai SÁCH.GD 1 bắt đầu từ số trang 1501);
  • tập tin thứ hai có tên SÁCH. GDI có kích thước trang là 1024 byte, số trang - 100;
  • tập tin thứ ba SÁCH.GD2 có kích thước trang là 1024 byte, số lượng trang không xác định (cho đến khi đầy đĩa).

Tên người dùng (chủ sở hữu cơ sở dữ liệu) được chỉ định - SYSDBA và mật khẩu - masterkey.

Cơ sở dữ liệu có thể bị xóa bởi người dùng (chủ sở hữu) cơ sở dữ liệu hoặc bởi quản trị viên hệ thống bằng lệnh

Hơn nữa, nó đã bị xóa hiện hành cơ sở dữ liệu, tức là cơ sở dữ liệu mà kết nối được thiết lập.

Sau khi sử dụng lệnh này, việc khôi phục cơ sở dữ liệu tiếp theo là không thể.

Trong bài đăng này, cơ sở dữ liệu SQLite sẽ được xem xét chi tiết; bạn có thể tìm thấy thông tin về cấu trúc của tệp cơ sở dữ liệu, cách biểu diễn dữ liệu trong bộ nhớ, cũng như thông tin về cấu trúc và cách biểu diễn tệp của cây B.

Định dạng tệp cơ sở dữ liệu

Toàn bộ cơ sở dữ liệu được lưu trữ trong một tệp trên đĩa gọi là "tệp cơ sở dữ liệu chính". Trong quá trình giao dịch, SQLite lưu trữ thông tin bổ sung trong tệp thứ hai: nhật ký khôi phục hoặc nếu cơ sở dữ liệu đang chạy ở chế độ WAL, tệp nhật ký có thông tin về các bản ghi. Nếu ứng dụng hoặc máy tính tắt trước khi giao dịch hoàn tất, các tệp này được gọi là “nhật ký nóng” hoặc “tệp WAL nóng” và chứa thông tin cần thiết để khôi phục cơ sở dữ liệu về trạng thái nhất quán.

Trang

Tệp cơ sở dữ liệu chính bao gồm một hoặc nhiều trang. Tất cả các trang trong một cơ sở dữ liệu đều có cùng kích thước, có thể từ 512 đến 65536 byte. Kích thước trang cho tệp cơ sở dữ liệu được xác định bởi số nguyên 2 byte với độ lệch 16 byte tính từ đầu tệp cơ sở dữ liệu.
Tất cả các trang được đánh số từ 1 đến 2147483646 (2^31 – 2). Kích thước cơ sở tối thiểu: một trang kích thước 512 byte, kích thước cơ sở dữ liệu tối đa: 2147483646 trang 65536 byte ( ~140 TB).

Phần mở đầu

100 byte đầu tiên của tệp cơ sở dữ liệu chứa tiêu đề cơ sở dữ liệu, Bảng 1 hiển thị sơ đồ tiêu đề.

Bảng 1

Trang khóa byte

Trang khóa là một trang của tệp cơ sở dữ liệu và nằm giữa các offset 0x1073741824 và 0x1073742335; nếu kích thước cơ sở dữ liệu nhỏ hơn thì nó không có trang khóa. Trang này là cần thiết để triển khai các nguyên tắc chặn Giao diện hệ điều hành.

Danh sách tự do

Danh sách các trang trống được tổ chức dưới dạng danh sách liên kết. Mỗi phần tử danh sách bao gồm hai số 4 byte. Số đầu tiên xác định số phần tử danh sách tự do tiếp theo (con trỏ trung kế) hoặc bằng 0 nếu danh sách đã kết thúc. Số thứ hai là con trỏ tới trang dữ liệu (Số trang lá). Hình dưới đây cho thấy một sơ đồ của cấu trúc này.

cây B

SQLite sử dụng hai loại cây: “table B – tree” (lá lưu trữ dữ liệu) và “index B – tree” (lá lưu trữ key).
Mỗi mục trong "bảng B - cây" bao gồm khóa số nguyên 64 bit và tối đa 2147483647 byte dữ liệu tùy ý. Khóa "bảng B - cây" tương ứng với ROWID của bảng SQL.
Mỗi mục trong "chỉ mục B - cây" bao gồm một khóa tùy ý có độ dài lên tới 2147483647 byte.

Trang B - cây

Một trang B-tree có cấu trúc:
  • Tiêu đề tệp cơ sở dữ liệu (100 byte)
  • Tiêu đề trang cây B (8 hoặc 12 byte)
  • Mảng con trỏ ô
  • Không gian chưa được phân bổ
  • Nội dung ô
  • Chỗ ngồi đã đặt trước

Tiêu đề tệp cơ sở dữ liệu chỉ xảy ra ở trang đầu tiên, luôn là trang cũ “bảng B – cây”. Tất cả các trang cây B khác trong cơ sở dữ liệu không có tiêu đề này.

Tiêu đề trang cây B có kích thước 8 byte cho các trang lá và 12 byte cho các trang bên trong. Bảng 2 cho thấy cấu trúc tiêu đề trang.

ban 2

chặn miễn phí là cấu trúc được sử dụng để xác định không gian chưa được phân bổ trong trang cây B. Freeblocks được tổ chức thành một chuỗi. 2 byte đầu tiên trong freeblock (từ cao đến thấp) là phần bù cho freeblock tiếp theo hoặc bằng 0 nếu freeblock là byte cuối cùng trong chuỗi. Byte thứ ba và thứ tư là một số nguyên, kích thước của khối tự do tính bằng byte, bao gồm tiêu đề 4 byte. Freeblocks luôn được kết nối theo thứ tự bù đắp tăng dần.

Số byte bị phân mảnh là tổng số byte chưa sử dụng trong vùng nội dung của ô.


Mảng con trỏ ô bao gồm K độ lệch số nguyên 2 byte của nội dung của các ô (cho trước K ô trong cây B). Mảng được sắp xếp theo thứ tự tăng dần (từ khóa nhỏ nhất đến khóa lớn nhất).

Không gian chưa được phân bổ là diện tích giữa ô cuối cùng của mảng con trỏ và ô đầu tiên.

Chỗ ngồi đã đặt trướcở cuối mỗi trang được các tiện ích mở rộng sử dụng để lưu trữ thông tin về trang. Kích thước của vùng dành riêng được xác định trong tiêu đề cơ sở dữ liệu (mặc định là 0).

BÀN

Mỗi bảng (có ROWID) được biểu diễn trong cơ sở dữ liệu dưới dạng bảng b - cây. Mỗi mục trong cây tương ứng với một hàng trong bảng SQL. Một hàng SQL của bảng được biểu diễn dưới dạng một chuỗi (giống như chuỗi được chỉ định khi tạo nó) gồm các cột trong bảng ở định dạng bản ghi. Nếu bảng có INTEGER PRIMARY KEY, là bí danh của ROWID, thì NULL sẽ được ghi thay vì giá trị của nó. SQLite sẽ luôn sử dụng khóa bảng b - cây thay vì NULL khi truy cập INTEGER PRIMARY KEY. Nếu Mối quan hệ của một cột (khuyến nghị truyền kiểu, xem thêm chi tiết habrahabr.ru/post/149635 trong phần “Các loại dữ liệu và so sánh các giá trị”) là THỰC và giá trị có thể được chuyển đổi thành INTEGER mà không làm mất dữ liệu, thì giá trị đó sẽ được lưu trữ dưới dạng số nguyên. Khi lấy dữ liệu từ cơ sở dữ liệu, SQLite chuyển đổi số nguyên thành REAL.

BẢNG KHÔNG CÓ ROWID

Mỗi bảng (không có ROWID) được biểu diễn trong cơ sở dữ liệu dưới dạng cây chỉ mục b. Sự khác biệt so với các bảng có rowid là khóa của mỗi bản ghi SQL của bảng được lưu trữ dưới dạng định dạng bản ghi và các cột khóa được lưu trữ như được chỉ định trong KHÓA CHÍNH và phần còn lại theo thứ tự được chỉ định trong khai báo bảng .
Vì vậy, các mục trong cây chỉ mục bđược trình bày tương tự như trong bảng b - cây, ngoại trừ thứ tự của các cột và thực tế là nội dung của hàng được lưu trữ trong khóa cây chứ không phải dưới dạng dữ liệu trong các lá như trong bảng b - cây.

MỤC LỤC

Mỗi chỉ mục (được khai báo CREATE INDEX, PRIMARY KEY hoặc UNIQUE) được biểu diễn trong cơ sở dữ liệu bằng cây chỉ mục b. Mỗi mục trong cây như vậy tương ứng với một hàng trong bảng SQL. Khóa cây chỉ mục là một chuỗi các giá trị cột được chỉ định trong chỉ mục và kết thúc bằng giá trị khóa hàng (khóa hàng hoặc khóa chính) ở định dạng bản ghi.

CẬP NHẬT 13:44: phần được thiết kế lại đại diện, cảm ơn vì những lời chỉ trích của thị trưởng (tất nhiên, tôi có thể di chuyển, nhưng ồ).