Nghiên cứu Hệ quản trị cơ sở dữ liệu Oracle Server trong xây dựng phần mềm quản lý thi sinh viên trực tuyến

MỤC LỤC

Cấu trúc các tiến trình

• System monitor (SMON): thực hiện phục hồi thể hiện lúc khởi tạo thể hiện, trong một hệ thống nhiều thể hiện SMON của một thể hiện cũng có thể thực hiện việc phục hồi thể hiện bị hỏng đồng thời xoá các segment tạm không dùng nữa và nối lại các extern trống trên đĩa để tạo không gian liên tục giễ định vị. - Tablespace mặc định: Mỗi user kết hợp với một tablespace mặc định, khi tạo một bảng mà không chỉ định cụ thể tablespace thì tablespace mặc định sẽ đợc sử dụng nếu user có quyền tạo các đối tợng schema và đợc cấp quota trong tablespace.

Mô hình kết nối trong Oracle Server

Các môi trờng làm việc của Oracle

Kiểu sao lu này mất nhiều thời gian và ảnh hởng đến hiệu năng của hệ thống; hơn nữa cách sao lu này cũng cha đủ để phục hồi toàn bộ cơ sở dữ liệu (chẳng hạn trong trờng hợp sự cố xảy ra giữa 2 lần sao lu mà có một số giao dịch đã đợc xác định, tức là client coi nh dữ liệu trong cơ sở dữ liệu đã đ- ợc cập nhật nhng thực ra nó không thể khôi phục lại đợc) thì phải cần thêm kiểu sao lu khác nh sao lu sai khác. Khi sao lu một cơ sở dữ liệu, bạn chỉ cần dùng bản sao lu sai khác cuối cùng sau lần sao lu đầy đủ, sau đó bạn khôi phục bản sao lu transaction redo log theo đúng trình tự tạo ra nó hoặc các thao tác khôi phục không thành công.

Các kỹ thuật sao lu và phục hồi a. Sao lu

Ngời sử dụng có thể vô tình hay cố ý làm hỏng dữ liệu: Trờng hợp này bạn sẽ khôi phục lại trạng thái dữ liệu tại một điểm thời gian trớc khi xảy ra sự cố, nếu bạn có càng nhiều bản sao lu càng tốt. Lỗi hệ thống: Nếu cả cơ sở dữ liệu không hoạt động đợc hoặc một ổ cứng bị hỏng, và cả cơ sở dữ liệu bị mất mà transaction log nằm trên một ổ riêng thì. Tập tin control ảnh: đây chỉ là tạo thêm các tâp tin control mà CSDL sẽ phải ghi các thay đổi vào thay vì chỉ ghi vào một tập tin control, điều này làm cho các tập tin control an toàn hơn đảm bảo luôn có nhiều phiên bản trên các ổ.

Sao lu OLTP và dữ liệu DSS

• Thay các tập tin dữ liệu, control, redo log bằng các tập tin trong băng từ hay đĩa lu trữ.

An toàn bảo mật dữ liệu

    Nếu bạn đặt tên bảng bắt đầu bằng dấu # thì Oracle Server sẽ tạo ra một bảng tạm thời trong cơ sở dữ liệu tempdb, bảng này chỉ có ý nghĩa trong phiên làm việc của bạn và bị xoá ngay sau khi kết thúc phiên. Oracle Server có sẵn một số kiểu dữ liệu; ngoài ra ngời dùng có thể tự định nghĩa kiểu mới và đa thêm các ràng buộc cho dữ liệu trong cột, tuy nhiên điều này lại giới hạn loại câu hỏi, do đó nên tránh xu hớng này. Oracle Server có 2 loại bảng hệ thống: bảng catalog mô tả và quản lý tất cả các bảng dữ liệu; một số cơ sở dữ liệu khác nh master và msdb chứa các bảng dữ liệu hoạt động nh là bảng hệ thống trên toàn bộ máy chủ.

    Dựa trên các bảng hệ thống, một tập view theo chuẩn ANSI đợc định nghĩa trong mỗi cơ sở dữ liệu và đợc kế thừa từ cơ sở dữ liệu mẫu; chúng trích ra một phân thông tin từ các bảng hệ thống. Ngoài ra để xoá tất cả các hàng trong bảng bạn có thể sử dụng lệnh TRUNCATE TABLE, lệnh này không ghi các dữ liệu đã bị xóa vào transaction log và đặc biệt có hiệu quả với những bảng lớn.

    Giao dịch

      Để chỉ ra một tham số là tham số ra, ta thêm từ khoá OUTPUT hoặc OUT vào cuối lời khai báo biến hoặc bằng cách truyền giá trị tham số vào cho thủ tục nh là một biến, và dùng từ khoá OUTPUT trong lời gọi thủ tục. - Thủ tục tổng thể: nếu tên thủ tục bắt đầu bằng (##), khi đó tất cả những ngời sử dụng trong hệ thống đều đợc phép thực hiện nó, ngời sở hữu thủ tục không đợc phép từ chối các truy nhập khác tới nó. Một số vấn đề của hệ phân tán nh quản lý các giao dịch, các công cụ quản lý song song, dữ liệu phân tán, các bản sao dữ liệu và các vấn đề của một hệ cơ sở dữ liệu tiên tiến hơn nh DSS, Data Warehouse, Data Mining …đã đợc hỗ trợ trong Oracle Server, tuy nhiên việc nghiên cứu và khai thác những vấn đề đó nằm ngoài phạm vi của đồ án này.

      Lập trình visual basic với ORACLE

      Sử dụng ODBC làm giao diện truy nhập cơ sở dữ liệu cho Oracle Server

      ODBC (Open Database Connectivity) là API dùng để truy cập dữ liệu trong cơ sở dữ liệu quan hệ hoặc cơ sở dữ liệu dùng phơng pháp truy nhập tuần tự qua chỉ số. Các thông tin về kết nối đã đợc lu trữ, ứng dụng chỉ cần cung cấp tên DSN thì trình điều khiển ODBC sẽ trích ra đợc các thông tin đó. • DSN –less: mỗi lần thực hiện, ứng dụng hay ngời sử dụng phải cung cấp tên Server, định danh đăng nhập của ngời sử dụng, mật khẩu và có thể chọn một cơ sở dữ liệu.

      Oracle Server và OLE DB

      ADO (ActiveX Data Objects)-một sản phẩm của Microsoft - là tập đối tợng đã đợc tự động hoá sử dụng OLE DB và cho phép các ứng dụng sử dụng dữ liệu từ các nguồn OLE DB. Trong các bản Oracle Server trớc, ứng dụng ADO phải sử dụng ODBC làm trung gian để truy nhập dữ liệu còn với Oracle Server, ngoài OLE DB Provider cho ODBC thì có thể dùng trực tiếp OLE DB nối với Oracle Server sẽ hiệu quả hơn rất nhiều. Có thể nói ADO là loại API phù hợp nhất với mục đích chung vì nó có những đặc tính mà các ứng dụng mục đích chung cần đến, hơn nữa những ngời lập trình có thể sử dụng những kiến thức đã biết về các API trớc để nhanh chóng xây dựng đợc những ứng dụng mạnh, hiệu năng cao.

      Các biểu mẫu thực tế 1. Danh sách thi

      Trờng Đại Học Vinh Cộng hoà xã hội chủ nghĩa Việt Nam Khoa: Độc lập – Tự do – Hạnh phúc. Trờng Đại Học Vinh Cộng hoà xã hội chủ nghĩa Việt Nam Khoa: Độc lập – Tự do – Hạnh phúc. Trờng Đại Học Vinh Cộng hoà xã hội chủ nghĩa Việt Nam Khoa: Độc lập – Tự do – Hạnh phúc.

      3. Bảng ghi điểm
      3. Bảng ghi điểm

      Các nội dung thông tin cần quản lý 1. Thông tin cá nhân sinh viên

      Chức năng quản lý thông tin thực hiện các công việc quản lý mang tính hành chính: sinh mã tơng ứng cho sinh viên, môn học, lớp, khoa ngành; nhập hồ sơ cho từng sinh viên; lập bảng danh sách môn học cho từng khoa. Chức năng quản lý kết quả học tập sẽ thực hiện các phép tính toán và các nghiệp vụ trong quản lý điểm của sinh viên; Tổ chức thi cho sinh viên và in danh sách phòng thi; in ra mẫu bảng ghi điểm theo từng môn học cho từng lớp, nhập điểm vào kho thông tin về điểm; tính điểm trung bình và điểm tổng kết cho từng sinh viên; xét danh sách học bổng và mức học bổng cho sinh viên theo từng kỳ học hoặc năm học. Để hình dung rõ hơn về hệ thống, ta cần xem xét các luồng thông tin đi từ môi trờng ngoài, các kết quả mà hệ thống trả ra cho ngời sử dụng và các luồng thông tin truyền giữa các tiến trình.

      Sơ đồ sau đây thể hiện việc phân cấp các chức năng đó:
      Sơ đồ sau đây thể hiện việc phân cấp các chức năng đó:

      Biểu đồ luồng dữ liệu

      Hệ thống sẽ lấy danh sách các môn học đợc lu trữ trong kho C, lấy thông tin về sinh viên trong kho A và xem thông tin thi cử trong kho B để tổ chức thi cho các môn học theo một trong hai hình thức đã nêu và lu thông tin thi cử vào kho B, từ đó in ra danh sách phòng thi. - Chức năng 2.3 là chức năng Quản lý học bổng: Sau khi nhập điểm rèn luyện thông tin này sẽ đợc lu trong kho A thì việc xét học bổng cho sinh viên theo kết quả học tập có thể thực hiện theo 2 cách: lấy từ trên xuống theo điểm tổng kết căn cứ vào chỉ tiêu cho bao nhiêu suất học bổng mỗi loại hoặc theo quy định chung với ngỡng điểm nào đó. Chẳng hạn, theo quy định trớc kia, số suất học bổng cho khoa Tin là 20 suất, trong đó có 10 suất loại A, 10 suất loại B thì hệ thống sẽ chọn ra 10 sinh viên khoa Tin có điểm tổng kết cao nhất nhận học bổng loại A, 10 sinh viên tiếp theo nhận học bổng loại B; theo quy.

      Bảng ghi điểm Danh sách học bổng
      Bảng ghi điểm Danh sách học bổng

      Lợc đồ chuẩn hoá 3NF

      Trong phần trên, chúng ta đã xem xét các luồng thông tin lu chuyển vào ra hệ thống cũng nh các luồng thông tin truyền giữa các chức năng của hệ thống. Phần này sẽ đi sâu phân tích nội dung của các luồng thông tin đó và mối liên hệ về ý nghĩa dữ liệu giữa chúng. Ta sử dụng mô hình thực thể quan hệ – một công cụ hiệu quả dùng trong việc mô hình hoá dữ liệu - để cấu trúc hóa dữ liệu và thể hiện tính tổ chức của dữ liệu hệ thống.

      Xác định kiểu liên kết giữa các thực thể

      Kết hợp các mối liên kết giữa toàn bộ thực thể của hệ thống với nhau, ta. Trong sơ đồ trên, mối quan hệ nhiều - nhiều giữa 2 thực thể Lớp và Môn học đã đợc tách ra thành 2 quan hệ 1 - nhiều qua thực thể trung gian là Học - Môn.

      Các bảng dữ liệu

      Ngoài những kiểu dữ liệu đã có sẵn do các hệ quản trị cơ sở dữ liệu cung cấp, ta có thể sử dụng những kiểu giá trị tự định nghĩa.

      8. Bảng LOPHOC( MaNganh, KhoaHoc, MaLop)
      8. Bảng LOPHOC( MaNganh, KhoaHoc, MaLop)