Đồ án Công nghệ phần mềm - MS SQL Server và Postgre SQL
Mục lục
Phần 1 SQL Server.
I. Giới thiệu chung về SQL 1
II. Giới thiệu chung SQL Server 2
Phần 2 SQL Server.
I. SQL server 2000 3
II. Transact SQL 6
III. Cơ sở dữ liệu trên SQL Server 8
IV. Sao lưu và phục hồi dữ liệu 11
V. Tính toàn vẹn dữ liệu 13
VI. Truy vấn nâng cao 15
VII. Kỹ thuật Import và Export Data 18
VIII. SQL Server và mạng 20
Phần 3. Sơ lược ngôn ngữ Perl.
I. Cấu trúc của một chương trình Perl 25
II. Cách chạy một chương trình trong Perl 25
III. Các kiểu dữ liệu trong Perl 26
IV. Xuất và nhập dữ liệu trong Perl 27
V. Các phép toán trên Perl 27
VI. Các lệnh có cấu trúc 28
VII. Lệnh nhỏ 28
VIII. So khớp 30
IX. Lệnh thao tác trên biến băm và mảng 32
X. Toán tử và hàm trên xâu 33
Phần 4. PostGre SQL.
I. Giới thiệu về Postgre SQL 34
II. Cấu trúc của Postgress SQL 35
III. Đặc điểm nổi bật của Postgres SQL 37
IV. Lập trình Perl trong Postgre SQL 38
cho việc xây dựng. Ngoài ra Posgress 95 cũng có thể biên soạn với các bản unpatched gcc. 3. Grest- sql Sau năm 1996 tên của phiên bản đã bị thay đổi và phiên bản Posgress 95 không còn tồn tại nữa nó được thay bằng cái tên mới Posgress SQL nó thể hiện sự liên quan với SQL. Cũng trong thời gian này phiên bản PosGress SQL ra đời với phiên bản 6.0 chúng mang tính chất hướng đối tượng. Sự phát triển của phiên bản từ Posgress 95 là sự phát triển của mã Backend ... Với Posgre SQL đó là sự thay đổi trên tất cả các vùng làm việc... Những sự nâng cao chính bên trong Grest-sql bao gồm : Các khoá và các mức đã đợc thay thế cùng với các phiên bản ,nó cho phép những phiên bản mới có thể vẫn xử dụng được dữ liệu của các phiên bản cũ . Backend có các đặc tính quan trọng như giải quyết các tranh chấp thi hành biên dịch.... SQL92 -tương hợp bổ sung ngôn ngữ với các đặc tính đã đợc thêm, bao gồm những khoá sơ cấp , sự bắt buộc kiểu chuỗi ký tự, và số nguyên hệ 16 và nhị phân nhập vào. Những kiểu gắn sẵn đã đợc cải thiện, bao gồm ngày tháng phạm vi rộng mới / thời gian những kiểu và bổ sung hình học .... Tốc độ mã backend toàn bộ đã đợc tăng thêm bởi xấp xỉ 20 40 %, và khởi động backend thời gian đã giảm bớt 80 % từ phiên bản 6.0 released. II. Cấu trúc của Postgress SQL 1 Cấu trúc của Postgres. Postgres sử dụng mô hình client/server trong khi quản trị cơ sở dữ liệu. Mỗi phiên Postgres bao gồm những quá trình sau đây: Postmaster: quản lý người dùng truy cập. User application: trình ứng dụng của người dùng. The one or more backend database servers: quản lý cơ sở dữ liệu của chính server Hình vẽ dưới đây mô tả cơ chế kết nối giữa server và client. Trong sơ đồ trên một Postmaster quản trị một tập các cơ sở dữ liệu có trên một client host. Tập cơ sở dữ liệu như thế gọi là cluster. Một trình ứng dụng có thể truy nhập hệ cơ sở dữ liệu trên được gọi tới library (LIBP Q). Library gởi yêu cầu người dùng qua mạng tới Postmaster. Sau đó, Postmaster trả về một new backend process và kết nối tới một frontend process. Tại đây, frontend process sẽ trao đổi trực tiếp với backend process mà không cần thông qua Postmaster nữa. Do đó, Postmaster luôn chạy và chờ các yêu cầu khác tới. Thư viện LIBPQ cho phép một fronted tạo ra nhiều kết nối tới các backend. 2. Trình ứng dụng Postgre trên client. createdb — Tạo một cơ sở dữ liệu Postgres mới. createuser — Tạo người dùng mới. dropdb — Xoá một database. dropuser — Xoá người dùng. ecpg — Nhúng bộ tiền xử lý SQL pgadmin – Công cụ thiết kế và quản trị cho Window 95/98/NT pg_config — Cung cấp thông tin cài đặt PostgreSQL pg_dump — Giải nén một database vào trong file script hay một file text pg_dumpall — Giải nén một database vào trong file script psql — Kết thúc tương tác với Postgres vacuumdb — Làm sạch và phân tích một database Postgres 3. Trình ứng dụng Postgres trên server. createlang — Thêm một ngôn ngữ lập trình mới vào database. droplang — Xoá bỏ một ngôn ngữ lập trình ra khỏi database . initdb — Tạo một cluster database. initlocation — Tạo một khu lưu trữ dữ liệu thứ cấp. ipcclean — Xoá vùng nhớ dùng chung. pg_ctl — Bắt đầu, dừng, khởi động lại Postmaster pg_passwd — Tạo một file password văn bản. postgres — Chạy một backend 1 người dùng. postmaster — Server cơ sở dữ liệu đa người truy cập. III. Đặc điểm nổi bật của Postgres SQL 1 .Tính kế thừa. Để tạo hai bảng, ta có thể tạo ra một bảng trước, sau đó bảng sau có thể thừa kế lại bảng trước đó với thuộc tính của bảng trước. Ví dụ ta tạo bảng cities, bảng capitals thừa kế lại bảng cities. CREATE TABLE cities ( name text, population real, altitude int -- (in ft) ); CREATE TABLE capitals ( state char(2) ) INHERITS (cities); Trong ví dụ này, các cột trong bảng capitals thừa kế lại toàn bộ các thuộc tính về định dạng kiểu dữ liệu của bảng cities. Cho ví dụ, truy vấn sau tìm thấy cho những tên tất cả các thành phố, thành phố được định vị ở độ cao trên 500 fit so với mặt biển: SELECT name, altitude FROM cities WHERE altitude > 500; Kết quả +----------+----------+ |name | altitude | +----------+----------+ |Las Vegas | 2174 | +----------+----------+ |Mariposa | 1953 | +----------+----------+ |Madison | 845 | 2. Những giá trị không nguyên tố. Một trong những nguyên tắc của mô hình quan hệ là cột của bảng là nguyên tố. Còn PostgreSQL thì không có sự hạn chế này, cột có thể chứa đựng những mức dưới - giá trị mà có thể được truy nhập từ ngôn ngữ hỏi. Chẳng hạn, bạn có thể tạo ra những cột là những mảng của nhièu kiểu cơ sở. a. Các mảng. PostgreSQL cho phép các cột của một hàng sẽ được định nghĩa cố định. Các mảng có kiểu cơ sở bất kì hoặc kiểu do người dùng định ra có thể được tạo ra. Sau đây là một ví dụ: CREATE TABLE SAL_EMP ( name text, pay_by_quarter integer[], schedule text[][] ); Trong ví dụ trên sẽ tạo ra một bảng có tên SAL_EMP với văn bản name, một mảng một chiều của số nguyên, mà đại diện tiền lương của người làm thuê bởi quý và một mảng hai chiều văn bản, mà đại diện chương trình hàng tuần của người làm thuê. Tiếp theo chúng ta xét tới ví dụ khởi tạo cấu trúc và việc chèn bảng bằng ngôn ngữ lập trình C: INSERT INTO SAL_EMP VALUES ('Bill', '{10000, 10000, 10000, 10000}', '{{"meeting", "lunch"}, {}}'); INSERT INTO SAL_EMP VALUES ('Carol', '{20000, 25000, 25000, 25000}', '{{"talk", "consult"}, {"meeting"}}'); Ví dụ sau đây truy vấn này khôi phục những tên của người làm thuê của ai thanh toán thay đổi vào quý hai: SELECT name FROM SAL_EMP WHERE SAL_EMP.pay_by_quarter[1] SAL_EMP.pay_by_quarter[2]; Kết quả +------+ |name | +------+ |Carol | IV. Lập trình Perl trong Postgre SQL Các trình ứng dụng độc lập với cơ sở dữ liệu có thể dễ dàng thay đổi, cập nhật hệ thống hoặc sử dụng các host cục bộ hay từ xa mà không cần thay đổi mã nguồn. Để đạt được điều này người ta sử dụng module DBI (Perl5 Database Interface Module). Vậy làm sao DBI có thể thực hiện cái mà nó phải làm? DBI là một giao diện cơ sở dữ liệu chung cung cấp cho một API tạo ra các script để sử dụng được các database driver ( DBD). DBI được tích hợp với các driver như ODBC và PROXY ( được sử dụng cho các kết nối của client/server). DBI hỗ trợ cho một số cơ sở dữ liệu như Oracle, Sybase, SQL Server và một số server mã nguồn mở khác. Thậm chí có thể sử dụng DBI để truy nhập các file có định dạng khác. Nếu có một server riêng cho mình, thì cần phải xác định có những driver nào trong hệ thống. Đầu tiên, sử dụng những module có khả năng quản trị để xác định liệu DBI có được cài đặt hay không? Nếu không được cài đặt, hãy tìm trong CPAN. Sau khi cài đặt được, thì chúng ta mới có thể sử dụng các phương thức trong DBI là available_driver() và data_sources() để tìm các driver và các database nào đang hiện diện. Nếu các driver cần lại không có trong danh sách tìm được thì hãy cố gắng cài lại trong một phiên bản mới hơn. Một câu lệnh có thể bao gồm 3 phần được sử dụng bởi các thuộc tính. Thuộc tính RaiseError được mặc định là 0 và thiết lập lại khi lệnh "chết", kết thúc script khi một lỗi xuất hiện đột ngột. Thuộc tính PrintError là được mặc định hoạt động và hiện văn bản lỗi từ DBI::err và DBI::errstr. Thuộc tính AutoCommit cũng mặc định đang được kích hoạt và sẽ đưa ra cảnh cáo nếu phương thức commit được sử dụng để thay đổi database. Khi một liên kết được tạo lập, một dãy lệnh được thông qua để tới database. Sau khi thực hiện song query, một liên kết được đóng lại theo phương thức sau: dbh->disconnect; Có 2 phương thức sau đây để thực hiện query. Nếu lệnh không đòi hỏi kết quả trả về như lệnh UPDATE, INSERT, hay DELETE, chúng ta có thể sử dụng phương thức này. $rc = $dbh->do($statement); trong đó $statement là một truy vấn SQL. Phương thức này ngay lập tức thực hiện truy vấn. Một phương pháp khác là đòi hỏi truy vấn có quyền phải "chuẩn bị" ưu tiên hơn để thực thi. $sth = $dbh->prepare($statement); Để biết thêm chi tiết xin hãy đến Perl DBI. Chỉ khi câu lệnh được "chuẩn bị" thì mới được quyền thực thi đưa vào database: $rv = $sth->execute; Tại đây, nếu thuộc tính AutoCommit không được thiết lập và cơ sở dữ liệu hộ trợ giao dịch thì có thể: $rc = $dbh->commit; Phương thức thực hiện có thể thực hiện nhiều lần cùng từ một bộ xử lý lệnh. Tuy nhiên, chúng ta nên trả về các kết quả giữa các lần thực hiện. Để thực hiện đIều này chúng ta sử dụng những phương thức sau fetchrow_array, fetchrow_arrayref, fetchrow_hashref, và fetchall_arrayref. Mỗi phương thức trên đều trả về dữ liệu ở dạng cụ thể là một mảng của các giá trị trường hay tham chiếu tới một biến băm có dạng name-value. Dưới đây thực hiện sử dụng fetchrow_hashref: while ( my $href = $sth->fetchrow_hashref ) { print “Name:\t”.$href->{name}.”\n”; print “Phone:\t”.$href->{phone}.”\n”; } Trong đó trường “name” và “phone” có trong database và là khóa trong phương thức fetchrow_hashref. Khi hoàn thành cú pháp dữ liệu trả về, chúng ta có thể thông báo cho bộ xử lý lệnh biết chúng ta sẽ thực hiện lệnh tiếp theo: $sth->finish(); Sử dụng module DBI Perl5, chúng ta có thể xây dựng các script linh động hỗ trợ cho các nguồn cơ sở tuỳ ý. Mục lục Phần 1 SQL Server. Giới thiệu chung về SQL 1 Giới thiệu chung SQL Server 2 Phần 2 SQL Server. SQL server 2000 3 Transact SQL 6 Cơ sở dữ liệu trên SQL Server 8 Sao lưu và phục hồi dữ liệu 11 Tính toàn vẹn dữ liệu 13 Truy vấn nâng cao 15 Kỹ thuật Import và Export Data 18 SQL Server và mạng 20 Phần 3. Sơ lược ngôn ngữ Perl. Cấu trúc của một chương trình Perl 25 Cách chạy một chương trình trong Perl 25 Các kiểu dữ liệu trong Perl 26 Xuất và nhập dữ liệu trong Perl 27 Các phép toán trên Perl 27 Các lệnh có cấu trúc 28 Lệnh nhỏ 28 So khớp 30 Lệnh thao tác trên biến băm và mảng 32 Toán tử và hàm trên xâu 33 Phần 4. PostGre SQL. Giới thiệu về Postgre SQL 34 Cấu trúc của Postgress SQL 35 Đặc điểm nổi bật của Postgres SQL 37 Lập trình Perl trong Postgre SQL 38
File đính kèm:
- Đồ án Công nghệ phần mềm - MS SQL Server và Postgre SQL.doc