Bài giảng quản lý cơ sơ dữ liệu. Bài giảng quản lý cơ sơ dữ liệu. Bài giảng quản lý cơ sơ dữ liệu. Bài giảng quản lý cơ sơ dữ liệu. Bài giảng quản lý cơ sơ dữ liệu. Bài giảng quản lý cơ sơ dữ liệu. Bài giảng quản lý cơ sơ dữ liệu. Bài giảng quản lý cơ sơ dữ liệu. Bài giảng quản lý cơ sơ dữ liệu. Bài giảng quản lý cơ sơ dữ liệu. Bài giảng quản lý cơ sơ dữ liệu. Bài giảng quản lý cơ sơ dữ liệu. Bài giảng quản lý cơ sơ dữ liệu. Bài giảng quản lý cơ sơ dữ liệu. Bài giảng quản lý cơ sơ dữ liệu. Bài giảng quản lý cơ sơ dữ liệu. Bài giảng quản lý cơ sơ dữ liệu.
Trang 1CHƯƠNG 1: HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU
• Khả năng truy nhập các khối lượng dữ liệu lớn một cách hiệu quả
• Hỗ trợ ít nhất một mô hình dữ liệu hay một sự trừu tượng toán học mà qua đó người sử dụng
có thể quan sát dữ liệu
• Đảm bảo tính độc lập dữ liệu hay sự bất biến của chương trình ứng dụng đối với các thay đổi
về cấu trúc trong mô hình dữ liệu
• Hỗ trợ các ngôn ngư cao cấp nhất định cho phép người sử dụng định nghĩa cấu trúc dữ liệu, truy nhập dữ liệu và thao tác dữ liệu
• Quản lý giao dịch, có nghia là khả năng cung cấp các truy nhập đồng thời, đúng đắn đối với CSDL từ nhiều người sử dụng tại cùng một thời điểm
• Điều khiển truy nhập, có nghĩa là khả năng hạn chế truy nhập đến các dữ liệu bởi những người sử dụng không được cấp phép và khả năng hạn chế truy nhập đến các dữ liệu bởi những người sử dụng không được phép và khả năng kiểm tra tính đúng đắn của CSDL
• Phục hồi dữ liệu, có nghĩa là có khả năng phục hồi dữ liệu, không làm mất mát dữ liệu với các lỗi hệ thống
1.1.2 Chức năng của hệ quản trị cơ sở dư liệu quan hệ.
1.1.2.1 Các khái niệm trong mô hình dữ liệu quan hệ
- Miền: là một tập các giá trị hoặc các đối tượng
- Thực thể: thực thể là một đối tượng cụ thể hay trừu tượng trong thế giới thực mà nó tồn tại và có thể phân biệt được với các đối tượng khác
Ví du: Nguyễn Văn A là một thực thể cụ thể Hay sinh viên cũng là một thực thể, thực thể trừu tượng
1
Trang 2- Thuộc tính: là tính chất của thực thể
• Các thực thể có các đặc tính, được gọi là các thuộc tính Nó kết hợp với một thực thể trong tập thực thể từ miền giá trị của thuộc tính Thông thường, miền giá trị của một thuộc tính là một tập các số nguyên, các số thực hay các xâu ký tự
• Một thuộc tính hay một tập thuộc tính mà giá trị của nó xác định duy nhất mỗi thực thể trong tập các thực thể được gọi là khóa đối với tập thực thể này
• Mỗi một thuộc tính nhận tập số các giá trị nhất định được gọi là domain của thuộc tính đó
- Một quan hệ: định nghĩa một cách đơn giản, một quan hệ là một bảng dữ liệu có các cột là các thuộc tính và các hàng là các bộ dữ liệu cụ thể của quan hệ
- Các liên kết: một liên kết là một sự kết hợp giữa một số thực thể hay quan hệ Ví dụ: Mối liên kết giữa phòng ban và nhân viên thể hiện: một nhân viên A sẽ thuộc một phòng ban B nào đó
• Các liên kết một – một: đây là dạng liên kết đơn giản, liên kết trên hai thực thể là một– một, có nghĩa là mỗi thực thể trong tập thực thể này có nhiều nhất một thực thể trong tập thực thể kia kết hợp với nó và ngược lại
• Các liên kết một – nhiều: trong một liên kết một – nhiều, một thực thể trong tập thực thể A được kết hợp với không hay nhiều thực thể trong tập thực thể B Nhưng mỗi thực thể trong tập thực thể B được kết hợp với nhiều nhất một thực thể trong tập thực thể A
• Các liên kết nhiều – nhiều: đây là dạng liên kết mà mỗi thực thể trong tập thực thể này có thể liên kết vv[í không hay nhiều thực thể trong tập thực thể kia và ngược lại
Ví dụ : Các mối liên kết giữa các thực thể:
LOP(malop, tenlop, khoa)
SINHVIEN(masv, hoten,ngaysinh,malop)
MONHOC(mamon, tenmon, sdvht)
KETQUA(masv, mamon, diem)
Ta có mối quan hệ giữa các thực thể đó:
- Mô hình dữ liệu quan hệ: làm việc trên bảng hay trên quan hệ trong đó: mỗi cột là một thuộc tính, mỗi dòng là một bộ (một bản ghi)
• Các ưu điểm của mô hình dữ liệu quan hệ:
2
Trang 3 Cấu trúc dữ liệu dễ dàng, không cần hiểu biết sâu về kỹ thuật cài đặt
Cải thiện tính độc lập dữ liệu và chương trình
Cung cấp ngôn ngữ thao tác phi thủ tục
Tối ưu hóa cách truy xuất dữ liệu
Tăng tính bảo mật và toàn vẹn dữ liệu
Cung cấp các phương pháp thiết kế có hệ thống và mở ra cho nhiều loại ứng dụng
• Khóa của quan hệ:
Khóa của quan hệ: là tập các thuộc tính dùng để phân biệt hai bộ bất kỳ trongquan hệ
Khóa ngoại của quan hệ: một thuộc tính được gọi là khóa ngoại của quan hệ nếu nó là thuộc tính không khóa của quan hệ này nhưng là thuộc tính khóa của quan hệ khác
1.1.2.2 Các chức năng của hệ quản trị cơ sở dữ liệu quan hệ
Các chức năng của hệ quản trị CSDL quan hệ có thể được phân thành các tầng chức năng:
- Tầng giao diện: quản lý giao diện với các ứng dụng Các chương trình ứng dụng CSDL đượcthực hiện trên các khung nhìn của CSDL Đối với một ứng dụng, khung nhìn rất có ích cho việc biểu diễn một hình ảnh cụ thể về CSDL (được dùng chung bởi nhiều ứng dụng)
Khung nhìn quan hệ là một quan hệ ảo, được dẫn xuất từ các quan hệ cơ sở bằng cách áp dụng các phép toán đại số quan hệ
Quản lý khung nhìn bao gồm việc phiên dịch câu vấn tin người dùng trên dữ liệu ngoài thành
dữ liệu khái niệm Nếu câu vấn tin của người dùng được diễn tả bằng các phép toán quan hệ, câu vấn tin được áp dụng cho dữ liệu khái niệm vẫn giữ nguyên dạng này
- Tầng điều khiển: chịu trách nhiệm điều khiển câu vấn tin bằng cách đưa thêm các vị từ toàn vẹn ngữ nghĩa và các vị từ cấp quyền
- Tâng xử lý vấn tin: chịu trách nhiệm ánh xạ câu vấn tin thành chuỗi thao tác đã được tối ưu ởmức thấp hơn
Tầng này liên quan đến vấn đề hiệu năng Nó phân rã câu vấn tin thành một câu biểu thị các phép toán đại số quan hệ và thử tìm ra một thứ tự “tối ưu” cho các phép toán này Kết xuất của tầng này là câu vấn tin được diễn tả bằng đại số quan hệ hoặc một dạng mã ở mức thấp
- Tầng thực thi: có trách nhiệm hướng dẫn việc thực hiện các hoạch định truy xuất, bao gồm việc quản lý giao dịch (ủy thác, tái khởi động) và đồng bộ hóa các phép đại số quan hệ Nó thông dịch các phép toán đại số quan hệ bằng cách gọi tầng truy xuất dữ liệu qua các yêu cầu truy xuất và cập nhật
- Tầng truy xuất dữ liệu: quản lý các cấu trúc dữ liệu dùng để cài đặt các quan hệ (tập tin, chỉ mục) Nó quản lý các vùng đệm bằng cách lưu tạm các dữ liệu thường được truy xuất đến nhiều nhất Sử dụng tầng này làm giảm thiểu việc truy xuất đến đĩa
- Tầng duy trì nhất quán: chịu trách nhiệm điều khiển các hoạt động đồng thời và việc ghi vào nhật ký các yêu cầu cập nhật Tầng này cũng cho phép khôi phục lại giao dịch, hệ thống và thiết bị sau khi bị sự cố
3
Trang 41.2 Phân tích, thiết kế hệ thống thông tin
1.2.1 Khái niệm
Là hệ thống nhằm cung cấp các thông tin cần thiết cho sự quản lý, điều hành của một doanhnghiệp (hoặc tổ chức) Hạt nhân của HTTT quản lý là một cơ sở dữ liệu chứa các thông tin phản ánhtình trạng hiện thời và hoạt động kinh doanh hiện thời của doanh nghiệp HTTT thu thập các thôngtin đến từ môi trường của doanh nghiệp, phối hợp với các thông tin có trong cơ sở dữ liệu để kếtxuất các thông tin mà các nhà quản lý cần, đồng thời thường xuyên cập nhật các dữ liệu để phản ánhđúng thực trạng hiện thời của doanh nghiệp
Ví dụ: Hệ thống quản lý nhân sự trong một cơ quan, hệ thống quản lý sinh viên trong mộttrường đại học, hệ thống kết toán trong một siêu thị, hệ thống trợ giúp công tác điều hành bay hoặc
hệ thống quản lý bán hành trong một công ty,…
Các hệ thống quản lý thường được phân theo hai mức:
4 Các chức năng của hệ quản trị CSDL quan hệ
Trang 5- Mức tác nghiệp (Mức thấp): Hệ thống chỉ có nhiệm vụ in ra một số bảng biểu, chứng từ giao dịchtheo khuôn mẫu của cách xử lý bằng tay truyền thống.
- Mức điều hành (Mức cao): Hệ thống phải đưa ra các thông tin có tính chất chiến lược và kế hoạchgiúp cho người lãnh đạo doanh nghiệp đưa ra các quyết định đúng đắn
* Nhiệm vụ và vai trò của hệ thống thông tin.
Quá trình xử lý thông tin như một mô hình hộp đen bao gồm: Bộ xử lý, thông tin đầu vào,thông tin đầu ra và thông tin phản hồi cần thiết của hệ thống Bộ xử lý biến đổi thông tin đầu vào vàcho ra dữ liệu đầu ra
+ Nhiệm vụ của hệ thống thông tin:
- Về đối ngoại: Hệ thống thông tin thu nhận thông tin từ môi trường bên ngoài và đưa thông
tin ra môi trường bên ngoài như: giá cả, thị trường, sức lao động, nhu cầu hàng hóa…
- Về đối nội: Hệ thống thông tin là cầu nối liên lạc giữa các bộ phận của hệ nghiệp vụ Nó
cung cấp cho hệ tác nghiệp, hệ quyết định các thông tin gồm hai loại tự nhiên và cấu trúc nhằm phảnánh cơ cấu tổ chức nội bộ và tình trạng hoạt động nghiệp vụ của hệ thống
+ Vai trò của hệ thống thông tin: Hệ thống thông tin đóng vai trò trung gian giữa hệ thống nghiệp
vụ và mô trường, giữa hệ thống con quyết định và hệ thống con tác nghiệp Mỗi hệ thống con đều cóđầu vào và đầu ra Ngoài ra, HTTT cung cấp các thông tin cho các hệ quyết định và tác nghiệp Cácthông tin xuất phát từ hệ tác nghiệp và hệ quyết định sẽ được HTTT chế biến, tổng hợp trước khiđưa ra môi trường bên ngoài
* Đặc điểm của hệ thống thông tin
HTTT là hệ thống được tổ chức thống nhất từ trên xuống dưới có chức năng tổng hợp cácthông tin giúp các nhà quản lý tốt cơ sở của mình và trợ giúp ra quyết định hoạt động nghiệp vụ
5
Process (Bộ xử lý)
Input
(Dữ liệu vào)
Output (Dữ liệu ra)
Feed back (Phản hồi)
Hình 1.2 Mô hình xử lý thông tin đơn giản của hệ thống
Trang 6Một hệ thống quản lý các nghiệp vụ được phân thành nhiều cấp do vậy các thông tin được xử lý vàluân chuyển từ mức trên xuống dưới và chuyền từ các mức dưới lần lượt lên dần mức trên.
1.2.2 Các giai đoạn phân tích và thiết kế HTTT
Quá trình phần tích và thiết kế hệ thống bao gồm các bước sau:
+ Xác định vấn đề, các yêu cầu quản lý hệ thống
+ Xác định mục tiêu, ưu tiên, giải pháp sơ bộ và chứng minh tính khả thi
+ Phân tích các chức năng và dữ liệu của hệ thống
+ Thiết kế logic: Trả lời câu hỏi làm gì? hoặc là gì? Phân tích sâu hơn các chức năng, các dữ liệucủa hoạt động cũ để đưa ra mô tả hoạt động mới
+ Thiết kế vật lý đưa ra những biện pháp, phương tiện thực hiện nhằm trả lời câu hỏi: Làm như thếnào?
+ Cài đặt hệ thống: Lựa chọn ngôn ngữ, hệ quản trị cơ sở dữ liệu và lập trình
+ Sự tiến hóa của quy trình phát triển phần mềm dẫn đến một số kiểu chu trình tiên tiến nhu chutrình chữ V, chu trình tăng trưởng, chu trình lắp ráp các thành phần, chu trình xoắn ốc Các chutrình này khắc phục được nhược điểm của chu trình thác nước truyền thống
Các giai đoạn phát triển của hệ thống bao gồm:
Giai đoạn 1: - Khảo sát hiện trạng và xác lập dự án
- Tìm hiểu phê phán để đưa ra các giải pháp
Giai đoạn 2: Phân tích hệ thống (thiết kế logic)
6
Trang 7Giai đoạn 3: Thiết kế tổng thể: Xác lập vai trò của tổng thể trong hệ thống
Giai đoạn 4: - Thiết kế chi tiết, bao gồm các thiết kế về các thủ tục
- Thủ công
- Kiểm soát, phục hồi
- Thiết kế cơ sở dữ liệu
- Thiết kế các mô đun, cấu trúc chương trình
Giai đoạn 5: Cài đặt, lập trình
Giai đoạn 6: Khai thác và bảo trì
7
Nghiên cứu sơ bộ
Đặc tả nhu cầu
Khai thác và bảo dưỡng
Nghiệm thu
Tích hợp
Kiểm định đơn nguyên
Mã hóa Thiết kế chi tiết
Trang 8Người sử dụng mong muốn
Mô tả hoạt động của hệ thống hiện tại làm việc như thế nào?
(HOW TO DO)
I
Mô tả hoạt động của hệ thống mới làm việc như thế nào?
(HOW TO DO)IV
Mô tả hệ thống mới làm gì?
(WHAT TO DO)
III
Mô tả hệ thống hiện tại làm gì?
(WHAT TO DO)
II
Người sử dụng mong muốn xử lý trực tiếp
Đánh giá cácphương án
Xác định các mục tiêu,
các phương án và các
ràng buộc
Thiết kế và tạo lập 1 nguyên mẫuThử nghiệm nguyên
mẫu
Hình 1.6 Chu trình xoắn ốc
Trang 91.3. Một số hệ quản trị cơ sở dữ liệu thường dùng
1.3.1 SQL Server
1.3.1.1 Giới thiệu về SQL Server 2005
SQL Server 2005 là một hệ thống quản lý cơ sở dữ liệu (Relational Database
Management System (RDBMS) ) sử dụng Transact-SQL để trao đổi dữ liệu giữa Client
computer và SQL Server computer Một RDBMS bao gồm databases, database engine và các ứng dụng dùng để quản lý dữ liệu và các bộ phận khác nhau trong RDBMS
SQL Server 2005 được tối ưu để có thể chạy trên môi trường cơ sở dữ liệu rất lớn (Very Large
Database Environment) lên đến Tera-Byte và có thể phục vụ cùng lúc cho hàng ngàn user SQL Server 2005 có thể kết hợp "ăn ý" với các server khác như Microsoft Internet Information Server (IIS), E -Commerce Server, Proxy Server
Các phiên bản của SQL Server 2005:
Enterprise: Hỗ trợ không giới hạn số lượng CPU và kích thước Database Hỗ trợ không giới
hạn RAM (nhưng tùy thuộc vào kích thước RAM tối đa mà HĐH hỗ trợ) và các hệ thống 64bit
Standard: Tương tự như bản Enterprise nhưng chỉ hỗ trợ 4 CPU Ngoài ra phiên bản này cũng
không được trang bị một số tính năng cao cấp khác
Workgroup: Tương tự bản Standard nhưng chỉ hỗ trợ 2 CPU và tối đa 3GB RAM
9
Trang 10Express: Bản miễn phí, hỗ trợ tối đa 1CPU, 1GB RAM v à kích thước Database giới hạn
trong 4GB
1.3.1.2 Các thao tác với SQL Server
a Tạo cơ sở dữ liệu.
Theo lý thuyết cơ sở dữ liệu, trước khi tạo CSDL ta phải thực hiện phân tích các thông tin liên quan mục đích sử dụng CSDL cho bài toán của mình: Tên CSDL, các table, ràng buộc, … tuân theo các chuẩn CSDL,
Trong các thao tác với CSDL và đối tượng khác gồm 2 phần: Phần thao tác theo công cụ Wizard và câu lệnh T-SQL
* Tạo theo công cụ:
- Vào Enterprise Manager / nhấn chuột phải vào Databases / new database/ đặt tên Database/ xác định tên vật lý và tên logic / chọn OK
* Xóa cơ sở dữ liệu
Trước khi bắt tay vào thiết lập bảng dữ liệu trước hết ta phải xác định xem
10
Trang 11bảng sẽ xây dựng như thế nào, dựa trên một số thông tin sau:
- Kiểu dữ liệu trong bảng.
- Các cột, kiểu dữ liệu tương ứng (và độ dài nếu cần thiết).
- Cột nào cho phép giá trị NULL (là giá trị mà phần dữ liệu thuộc hàng, cột
xác định không được gán giá trị nào, vì vậy nên 2 phần tử có cùng giá trị NULL là không bằng nhau).
- Giá trị ngầm định (là giá trị mà khi chưa nhập vào nó nhận giá trị này).
- Chỉ số Index, khóa chính, khóa ngoài.
* Kiểu dữ liệu.
SQL Server gồm những kiểu dữ liệu sau:
- Binary: Là kiểu dữ liệu chứa dạng số ở hệ hexa, gồm 3 kiểu dữ liệu Bin
ary, Varbinary, Image.
- Text: Là kiểu ký tự, chứa chữ cái, ký hiệu, số, gồm những kiểu dữ liệu sau:
- Char: Kiểu ký tự, khi xác định độ dài thì độ dài trong CSDL sẽ xác định
theo độ dài đặt trước mà không theo độ dài dữ liệu thực có, không sử dụng với
ký tự dạng Unicode, độ dài tối đa là 8000.
- Nchar: Tương tự như Char nhưng sử dụng với ký tự Unicode, độ dài tối đa
4000.
- Nvarchar: Tương tự như NChar nhưng kích thước trong CSDL sẽ là kích
thước thực dữ liệu hiện có, không tính theo kích thước đặt trước, kích thước tối
đa là 4000.
- Varchar: Tương tự như Nvarchar nhưng không hỗ trợ Unicode.
- Text: Kiểu văn bản, chứa cả ký tự xuống dòng, lưu trữ theo dạng văn bản,
11
Trang 12có kích thước lớn, có thể lên đến vài Gb, cơ chế quản lý kiểu dữ liệu theo dạng con trỏ và cách thức chèn và cập nhật sẽ khác, kiểu dữ liệu này không hỗ trợ cho Unicode.
- Ntext: Tương tự như Text nhưng có hỗ trợ Unicode.
Data/Time: Kiểu dữ liệu ngày, thời gian, ngày và thời gian, gồm 2 kiểu:
- DateTime: Đầy đủ cả ngày và thời gian.
- SmallDataTime: Chỉ ngày hoặc thời gian.
Numeric: Dữ liệu kiểu số, gồm các kiểu dữ liệu sau:
- Int, smallint, tinyint, bigint: Số nguyên
- Float, real, decimal, numeric: Số thực.
Monetary: Tiền tệ:
- Money, Smallmoney.
- Bit: Kiểu số 0, 1.
- Sql_variant: Là kiểu dữ liệu xác định theo kiểu dữ liệu khác, một cột dữ liệu được
định nghĩa dữ liệu kiểu này có thể lưu trữ nhiều dữ liệu có kiểu khác nhau trong
cùng một bảng Ví dụ có thể lưu trữ nhiều kiểu dữ liệu int, binary, char, nhưng không chứa dữ liệu kiểu text, ntext, image, timestamp, sql_variant.
- Timestamp: Là kiểu dữ liệu có kích thước 8 byte, lưu trữ dạng số nhị phân do hệ
thống tự sinh ra, mỗi giá trị timestamp trong CSDL là duy nhất.
- Table: Là kiểu dữ liệu đặc biệt lưu trữ tập hợp các hàng (dạng bảng), mục đích sử
dụng chính là lưu trữ tạm thời tập hợp các hàng sau truy vấn.
* Tạo bằng công cụ.
- Chọn CSDL
12
Trang 13- Chọn Tables
- Nhấn phải chuột ở cửa sổ bên phải
13
Trang 14- Chọn New Table.
* Đặt khóa chính.
Để xác định khóa chính ta thực hiện chọn những cột tham gia khóa bằng cách giữ phím shift và chọn chuột -> nhấn chuột phải -> chọn Set primary key.
Trang 16* Xác định Identity.
- Chọn cột dữ liệu -> Chọn yes trong mục Identity -> đặt seed (giá trị khởi
đầu) -> đặt increment (bước tự động tăng).
c Tạo khung nhìn (view)
Sử dụng công cụ.
- Chọn chức năng Views của CSDL
- Nhấn phải chuột
Trang 17- Chọn New View.
- Thêm các bảng tham gia câu lệnh truy vấn cho view
- Soạn câu lệnh truy vấn hoặc đánh dấu các cột tham gia vào view
Trang 18- Sửa đổi lệnh Select theo ý muốn.
- Ghi kịch bản -> đặt tên view
d Thủ tục lưu trữ và hàm.
Thủ tục lưu trữ có thuật ngữ Stored Procedure, là một đối tượng của CSDL tương tự như khung nhìn, thủ tục lưu trữ có thể tạo ra từ công cụ và câu lệnh THủ tục được thực hiện như câu lệnh (có thể thực hiện từ SQL Query analyzer, các vị trí gọi câu lệnh T-SQL).
Thủ tục lưu trữ được kết cấu từ một kịch bản câu lệnh T-SQL, thủ tục có
những đặc điểm cơ bản sau:
+ Truyền tham số.
+ Gọi thủ tục khác.
+ Trả về các giá trị tham số, chuyển giá trị tham số cho các thủ tục được gọi.
+ Trả về giá trị trạng thái thủ tục là thành công hay không thành công.
Trang 19Thủ tục lưu trữ có nhiều ưu điểm so với thực hiện câu lệnh T-SQL từ các máy khách:
+ Lập trình theo module: Thủ tục được thiết lập trong từng CSDL một lần,
có thể gọi thực hiện nhiều lần trong một ứng dụng, có thể gọi từ nhiều ứng dụng + Thực hiện nhanh hơn: Khi cần thực hiện một lượng lớn câu lệnh T-SQL,
thủ tục lưu trữ thực hiện nhanh hơn vì khi máy chủ nhận được nhiều cầu lệnh cùng một lúc đều phải kiểm tra tính hợp lệ quyền của tài khoản từ máy khách và các tham số khác Khi thủ tục cần gọi nhiều lần trên các máy khách thì thủ tục thực hiện một lần đầu tiên, những lần sau máy khách sẽ chạy thủ tục đã được biên dịch + Làm giảm lưu lượng trên mạng: Thay cho vì máy khách phải gửi nhiều
dòng lệnh từ các ứng dụng đến máy chủ, khi sử dụng thủ tục thì nó chỉ cần gửi một lệnh, từ đó dẫn đến lưu lượng thông tin lệnh truyền qua mạng giảm.
+ An ninh bảo mật hơn: Khi không muốn cho một user trực tiếp khai thác
một đối tượng hay bảng dữ liệu nào đó, mà cần cho user đó được khai thác thì thủ tục có thể giúp bạn gán quyền khai thác cho người đó Việc gán quyền khai thác như nói trên sẽ giúp cho vấn đề an ninh bảo mật trong CSDL tốt hơn.
* Phân loại thủ tục lưu trữ.
Thủ tục lưu trữ được phân thành 5 loại như sau:
System Stored Procedure.
Là thủ tục được lưu trữ tỏng CSDL Master, thủ tục loại này được bắt đầu
bằng chữ sp_ thủ tục loại này thường được sử dụng trong quản trị CSDL và an ninh
bảo mật.
Ví dụ: Muốn biết tất cả các tiến trình đang thực hiện bởi user nào:
Trang 20sp_who @loginame='sa'
Kết quả
Local Stored Procedure.
Đây là loại thủ tục thường dùng nhất, nằm trong CSDL do người dùng tạo ra,
thực hiện một công việc nào đó Thủ tục loại này thường được tạo bởi DBA (Database Administrator) hoặc người lập trình.
Temporary Stored Procedure.
Có chức năng tương tự như Local Stored Prcedure nhưng thủ tục loại này tự
hủy khi kết nối tạo ra nó ngắt hoặc SQL Server ngưng hoạt động và nó được tạo ra trên CSDL TempDB.
Extended Stored Procedure.
Đây là loại thủ tục sử dụng chương trình ngoại vi đã được biên dịch thành
DLL Tên thủ tục được bắt đầu bằng xp_ Ví dụ thủ tục xp_sendmail dùng gửi
mail, thủ tục xp_cmdshell dùng thực hiện lệnh của DOS (xp_cmdshell ‘dir c:\’).
Remote Stored Procedure:
Là loại thủ tục sử dụng thủ tục của một server khác.
* Thiết lập công cụ lưu trữ
- Chọn CSDL cần tạo thủ tục trong Enterprise Manager –> Stored Procedures
- Nhấn nút phải chuột -> New Stored Procedure…
Trang 21- Đặt tên thủ tục, xác định role người khai thác, soạn kịch bản câu lệnh.
Trang 221.3.2 Hệ quản trị dữ liệu Oracle
1.3.2.1 Khái niệm Oracle
Oracle Server: là tập hợn các file, tiến trình và cấu trúc bộ nhớ trong Oracle Server
Oracle Batabase: tập hợp các fiel hệ thống: file database (thông tin về thiết bị lưu trữ vật lý, vềdatabase)
- Cấu trúc vật lý: các tập tin hệ thống hình thành cơ sở dữ liệu
* Các kiểu dữ liệu
CHƯƠNG 2: TỔNG QUAN VỀ BÀI TOÁN QUẢN LÝ 2.1 Khái niệm bài toán quản lý
Trang 232.1.1 Khái niệm
- Bài toán quản lí là bài toán phổ biến trong mọi hoạt động kinh tế - xã hội Một xã hội ngày càng văn minh thì trình độ quản lí các tổ chức hoạt động trong xã hội đó ngày càng cao Công tác quản lí chiếmphần lớn trong các ứng dụng của tin học
- Để quản lý HSSV trong nhà trường, người ta thường lập các biểu bảng gồm các cột, hàng để chứa thông tin cần quản lý
- Một trong những biểu bảng được thiết lập để lưu trữ thông tin về điểm của hs như sau:
Chú ý:
lớp
sơ có thể có những bổ sung, thay đổi hay nhầm lẫn đòi hỏi phải sửa đổi lại
- Việc tạo lập hồ sơ không chỉ đơn thuần là để lưu trữ mà chủ yếu là để khai thác, nhằm phục vụ các yêu cầu quản lí của nhà trường
2.1.2 Chức năng của lập trình quản lý
Công việc quản lí tại mỗi nơi, mỗi lĩnh vực có những đặc điểm riêng về đối tượng quản lícũng như về phương thức khai thác thông tin Công việc thường gặp khi xử lí thông tin baogồm: tạo lập, cập nhật và khai thác hồ sơ
* Tạo lập hồ sơ:
Để tạo lập hồ sơ, cần thực hiện các công việc sau:
- Tùy thuộc nhu cầu của tổ chức mà xác định chủ thể cần quản lí VD: Chủ thể cần quản lí làhọc sinh,
- Dựa vào yêu cầu quản lí thông tin của chủ thể để xác định cấu trúc hồ sơ VD: ở hình 1, hồ
sơ của mỗi học sinh là một hàng có 11 thuộc tính
- Thu thập, tập hợp thông tin cần thiết cho hồ sơ từ nhiều nguồn khác nhau và lưu trữ chúngtheo đúng cấu trúc đã xác định VD; hồ sơ lớp dưới, kết quả điểm thi học kì các môn học,
Trang 24- Sửa chữa hồ sơ;
- Bổ sung thêm hồ sơ;;
- Xóa hồ sơ.
* Khai thác hồ sơ:
Việc tạo lập, lưu trữ và cập nhật hồ sơ là để khai thác chúng, phục vụ cho công việc quảnlí
Khai thác hồ sơ bao gồm các công việc chính sau:
- Sắp xếp hồ sơ theo một tiêu chí nào đó phù hợp với yêu cầu quản lí của tổ chức VD: sắpxếp theo bảng chữ cái của tên học sinh, theo điểm của môn học nào đó,
- Tìm kiếm là việc tra cứu các thông tin thỏa mãn một số yêu cầu nào đó VD: tìm họ tên hs
có điểm môn Tin cao nhất,
- Thống kê là cách khai thác hồ sơ dựa trên tính toán để đưa ra các thông tin đặc trưng VD: Xác định điểm cao nhất, thấp nhất môn Tin,
- Lập báo cáo là việc sử dụng các kết quả tìm kiếm, thống kê, sắp xếp các bộ hồ sơ để tạo lập một bộ hồ sơ mới có nội dung và cấu trúc khuôn dạng theo một yêu cầu nào đó VD: danh sách HSG của lớp,
2.3 Các bước tiến hành lập trình bài toán quản lý
2.3.1 Khảo sát hệ thống
Việc khảo sát thường được tiến hành thông qua hai giai đoạn:
- Khảo sát sơ bộ nhằm xác định tính khả thi của dự án
- Khảo sát chi tiết nhằm xác định chính xác những gì sẽ thực hiện và khẳng định những lợi ích kèm
theo
* Mục đích
Việc khảo sát hiện trạng là nhằm để:
- Tiếp cận với nghiệp vụ chuyên môn, môi trường hoạt động của hệ thống
- Tìm hiểu các chức năng, chức vụ và cung cách hoạt động của hệ thống
- Chỉ ra các chỗ hợp lý của hệ thống, cần được kế thừa và các chỗ bất hợp lý của hệthống, cần được nghiên cứu khắc phục
* Yêu cầu
Trang 25Yêu cầu của giai đoạn khảo sát cũng chính là mục tiêu của người phân tích và thiết kế cần xácđịnh trong giai đoạn này bao gồm:
- Khảo sát đánh giá sự hoạt động của hệ thống cũ
- Đề xuất mục tiêu, ưu tiên cho hệ thống mới
- Đề xuất ý tưởng cho giải pháp mới
- Vạch kế hoạch cho dự án
- Lập báo cáo về khảo sát và xác định tính khả thi
* Tìm hiểu, đánh giá hiện trạng
Tìm hiểu và đánh giá hiện trạng nhằm phát hiện những nhược điểm cơ bản của hệ thống cũđồng thời cũng định hướng cho hệ thống mới cần giải quyết “cải tạo cái cũ, xây dựng cái mới”
* Cách thức tiến hành
Có nhiều hình thức khảo sát, chúng được sử dụng kết hợp để nâng cao hiệu quả, tính xác thực,tính khách quan và tính toàn diện của phương pháp luận
- Quan sát theo dõi: Bao gồm quan sát chính thức và không chính thức
+ Quan sát chính thức: Thường có chuẩn bị và thông báo trước Đây không phải là phươngpháp tốt nhất vì hệ thống tương lai có thể có cách thức làm việc thay đổi, hơn nữa, những gì
ta dễ nhìn thấy có thể không thuận tiện và không bình thường, có thể ảnh hưởng đến chấtlượng nghiên cứu
+ Quan sát không chính thức: Để có cái nhìn tổng quát về một tổ chức cần xem xét các giấy tờ
và tài liệu, lý do dừng công việc, phân chia thời gian không hợp lý và sự phản ánh trungthực về môi trường làm việc tốt Quan sát không chính thức thường cho ta kết quả kháchquan hơn
- Phỏng vấn, điều tra: Phương pháp trao đổi trực tiếp với người tham gia hệ thống thông qua
các buổi gặp mặt bằng một số kĩ thuật Phương pháp này đòi hỏi các chỉ dẫn rõ ràng cho người sửdụng Khi phân tích sử dụng các bảng hỏi, các mẫu điều tra Danh sách các câu hỏi có thể được thiết
kế dựa trên các điểm sau:
+ Tiêu đề: Mô tả các mục tiêu và các nội dung chính
+ Phân lớp dữ liệu: Các loại dữ liệu sẽ sử dụng
+ Dữ liệu: Nội dung của dữ liệu trong từng loại
→ Phương pháp này phức tạp và không có hiệu quả với những người phân tích thiếu kinh nghiệm
Trang 26* Nguyên tắc chung của hình thức khảo sát là:
- Càng thu thập được nhiều thông tin về môi trường hoạt động của tổ chức thì càng hiểucác vấn đề cần giải quyết, càng có khả năng đưa ra các câu hỏi và các vấn đề cần quantâm
- Thông tin có thể chia thành các nhóm như thông tin về tổ chức, về các đơn vị có liênquan trực tiếp đến các vấn đề hiện hành cần giải quyết
Phỏng vấn là phương pháp cơ bản cho mọi cuộc điều tra Có hai loại câu hỏi thường được sửdụng khi phỏng vấn:
- Câu hỏi trực tiếp: Là câu hỏi đóng mà các phương án trả lời có thể dự kiến sẵn, chỉ cầnkhẳng định đó là phương án nào Câu hỏi đóng là có ích khi ta đã có chủ định điều tra
và cần biết rõ các chi tiết
- Câu hỏi gợi mở: Là câu hỏi mà số khả năng trả lời rất lớn, người hỏi chưa hình dunghết được Câu hỏi mởi là có ích khi người hỏi chưa có ý định rõ ràng, muốn hỏi đểthăm dò, để gợi mở vấn đề và người trả lời phải là người có hiểu biết rộng, cán bộ lãnhđạo, cán bộ quản lý
a Biểu đồ phân cấp chức năng
Biểu đồ phân cấp chức năng chỉ ra các chức năng của hệ thống cần được xây dựng và quátrình triển khai biểu đồ luồng dữ liệu
Biểu đồ BPC là công cụ khởi đầu để mô tả hệ thống qua chức năng do công ty IBM phát triển.BPC cho phép phân rã dần dần các chức năng từ chức năng mức cao thành chức năng chi tiết nhỏ hơn
và kết quả cuối cùng ta thu được cây chức năng
Biểu đồ BPC gồm các đặc điểm chính sau:
- Cho ta cách nhìn khái quát nhất về các chức năng của hệ thống theo nguyên tắc phân rã đi từđại thể đến chi tiết, trực quan dễ hiểu, thể hiện tính cấu trúc của phân rã chức năng
- Biểu đồ BPC rất dễ thành lập do biểu đồ đơn giản Nó trình bày hệ thống phải làm gì hơn là
hệ thống làm như thế nào?
Trang 27- Biểu đồ mang tính chất tĩnh vì chúng cho thấy chức năng mà không thấy tiến trình xử lý và
bỏ qua mối liên quan thông tin giữa các chức năng Các chức năng không bị lặp lại và không dư thừa
- Biểu đồ BPC rất gần gũi với sơ đồ tổ chức nhưng ta không đồng nhất nó với sơ đồ tổ chức.Phần lớn các tổ chức của doanh nghiệp nói chung thường gắn liền với chức năng
Thí dụ: Trong một hệ thống quản lý xí nghiệp có các chức năng chính:
- Quản lý thông tin thị trường
Với mỗi chức năng lại được phân rã thành các chức năng nhỏ hơn, chẳng hạn chức năng quản
lý nhân sự lại có thể chia thành quản lý hồ sơ và quản lý lao động, tiền lương,… Hình dưới đây làbiểu đồ phân cấp chức năng HTTT trong một xí nghiệp:
b Biểu đồ luồng dữ liệu (BLD)
BLD nhằm diễn tả tập hợp các chức năng và luồng thông tin trong hệ thống Nó xác định cácmối quan hệ trước sau trong tiến trình xử lý, trong bàn giao thông tin cho nhau Biểu đồ luồng dữ liệu
Kế toán thu Hạch toán Kế toán chỉ Qlý kho Kế hoạch Tiến độ Dự báo
Hình 4.4 Biểu đồ phân cấp chức năng của hệ thống quản lý xí nghiệp