Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 56 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
56
Dung lượng
5,78 MB
Nội dung
TRƯỜNG ĐẠI HỌC VINH KHOA CÔNG NGHỆ THÔNG TIN TRẦN VĂN THÁI BÁO CÁO ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC Tên đề tài: TÌM HIỂU VÀ TRIỂN KHAI HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU PostgreSQL NGHỆ AN - 2012 TRƯỜNG ĐẠI HỌC VINH KHOA CÔNG NGHỆ THÔNG TIN BÁO CÁO ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC Tên đề tài: TÌM HIỂU VÀ TRIỂN KHAI HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU PostgreSQL Giáo viên hướng dẫn: Sinh viên thực hiện: Lớp: Mã số SV: ThS Vũ Chí Cường Trần Văn Thái 49K - CNTT 0851075142 Nghệ An, tháng 12 năm 2012 LỜI CẢM ƠN Lời em xin chân thành cảm ơn thầy cô giáo Khoa Công nghệ thông tin - Trường Đại học Vinh trang bị cho em kiến thức cần thiết năm học vừa qua để em thực tốt đồ án tốt nghiệp Em xin chân thành cảm ơn Thầy giáo ThS Vũ Chí Cường tận tình giúp đỡ hướng dẫn em hồn thành đồ án tốt nghiệp Ngoài em xin chân thành cảm ơn Thầy Cô tổ “Mạng máy tính” bạn bè giúp đỡ em suốt thời gian thực đồ án tốt nghiệp Mặc dù em có cố gắng, khoảng thời gian cho phép hạn chế kiến thức nên đồ án em tránh khỏi kiến thức thiếu sót Chính vậy, em mong nhận góp ý thầy cô giáo bạn bè Vinh, tháng 12 năm 2012 Sinh viên Trần Văn Thái MỤC LỤC Trang MỞ ĐẦU Chương GIỚI THIỆU VỀ POSTGRESQL 1.1 Định nghĩa 1.2 So sánh PostgreSQL với số hệ sở quản trị liệu khác: 1.2.1 Hệ điều hành hổ trợ: 1.2.2 Các tính 1.2.3 Hỗ trợ bảng khung nhìn: 1.2.4 Chỉ mục 1.2.5 Các đối tượng khác 1.3 Quản trị sở liệu qua giao diện 1.3.1 psql 1.3.2 pgAdmin 12 1.4 Các kiểu liệu PostgreSQL 12 1.4.1 Kiểu liệu 12 1.4.2 Kiểu liệu hỗn hợp 12 1.4.3 Sự tương ứng kiểu liệu C SQL 13 Chương CÀI ĐẶT POSTGRESQL 15 3.1 Tạo Database 20 3.1.1 Tạo dòng lệnh 20 3.1.2 Tạo giao diện 22 3.2 Tạo Table 25 3.2.1 Tạo dòng lệnh 25 3.2.2 Tạo giao diện PGAdminIII 28 3.3 Thêm ghi vào bảng 32 3.3.1 Tạo dòng lệnh 32 3.4 Sửa đổi ghi bảng 32 3.4.1 Bằng dòng lệnh 32 3.4.2 Bằng giao diện pgAminIII 33 3.5 Xóa ghi vào bảng 35 C.33.44.55.54.78.65.5.43.22.2.4 22.Tai lieu Luan 66.55.77.99 van Luan an.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.33.44.55.54.78.655.43.22.2.4.55.22 Do an.Tai lieu Luan van Luan an Do an.Tai lieu Luan van Luan an Do an 3.5.1 dùng câu lệnh Delete from 35 3.6 Thực lệnh truy vấn liệu 35 3.6.1 dùng dòng lệnh select 35 3.6.1 dùng giao diện 37 3.7 Tạo View (Bảng ảo) 40 3.7.1 Tọa dòng lệnh 40 3.7.2 Tạo giao diện 41 3.8 Tạo Hàm người dùng định nghĩa 43 3.8.1 tạo câu lệnh 43 3.8.1 Tạo hàm giao diện 46 3.9 Tạo Trigger 47 3.9.1 Tạo dòng lệnh 48 3.9.2 Tạo giao diện 48 KẾT LUẬN 50 TÀI LIỆU THAM KHẢO 51 Stt.010.Mssv.BKD002ac.email.ninhd 77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77t@edu.gmail.com.vn.bkc19134.hmu.edu.vn.Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn.bkc19134.hmu.edu.vn C.33.44.55.54.78.65.5.43.22.2.4 22.Tai lieu Luan 66.55.77.99 van Luan an.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.33.44.55.54.78.655.43.22.2.4.55.22 Do an.Tai lieu Luan van Luan an Do an.Tai lieu Luan van Luan an Do an Đồ án tốt nghiệp Đại học MỞ ĐẦU Ngày nay, với phát triển xã hội, ngành CNTT có nhiều bước phát triển đáng kể dần vào sống người sử dụng hầu hết tất ngành nghề xã hội Với số lượng tài liệu quan, tổ chức tăng theo cấp số nhân theo năm, thời kỳ, việc lưu trữ số lượng tài liệu trở nên vơ khó khăn, đặc biệt tài liệu quan trọng mà lại lưu trữ thiết bị cứng Yếu tố thời gian, tác động bên ngồi làm cho tài liệu bị hỏng hóc, khó bảo quản Do đó, nhu cầu sử dụng phần mềm hỗ trợ khả lưu trữ liệu đảm bảo yếu tố an toàn tiện lợi thao tác với liệu vơ cần thiết Và nhu cầu trở nên dễ dàng có vào CNTT, đặc biệt hệ quản trị sở liệu (CSDL) Nói đến CNTT khơng thể khơng nói đến hệ quản trị sở liệu Đó phần mềm hay hệ thống thiết kế để quản trị CSDL, hỗ trợ khả lưu trữ, sửa chữa, xóa tìm kiếm tin CSDL Và có nhiều loại hệ quản trị CSDL khác nhau: từ phần mềm nhỏ chạy máy tính cá nhân hệ quản trị phức tạp chạy nhiều siêu máy tính Chúng ta kể tới hệ quản trị CSDL như: MySQL, Oracle, SQL Server, PostgreSQL loại có tính năng, lợi ích riêng Với gợi ý giáo viên hướng dẫn thầy Vũ Chí Cường, em tập trung tìm hiểu nghiên cứu tính Hệ quản trị CSDL postgre SQL nhận thấy có nhiều tính lợi hẵn hệ quản trị CSDL khác Đề tài tốt nghiệp bao gồm nội dung: - Chương 1: Giới thiệu postgre SQL Chương 2: Cài đặt postgre SQL - Chương 3: Các thao tác postgre SQL Trần Văn Thái - Lớp49K - Khoa CNTT Stt.010.Mssv.BKD002ac.email.ninhd 77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77t@edu.gmail.com.vn.bkc19134.hmu.edu.vn.Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn.bkc19134.hmu.edu.vn Trang C.33.44.55.54.78.65.5.43.22.2.4 22.Tai lieu Luan 66.55.77.99 van Luan an.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.33.44.55.54.78.655.43.22.2.4.55.22 Do an.Tai lieu Luan van Luan an Do an.Tai lieu Luan van Luan an Do an Đồ án tốt nghiệp Đại học Chương GIỚI THIỆU VỀ POSTGRESQL 1.1 Định nghĩa Vào năm 1986, giáo sư Đại học California Berkeley chuyên gia công nghệ Cơ sở liệu Michael Stonebraker đưa vấn đề phải xây dựng hệ thống sở liệu tốt Mặc dù có thành cơng với dự án sở liệu trước đó, INGRES nghiên cứu ra, Stonebraker định phát triển lên dựa tảng có Và kết phát triển Postgres.Trong năm tiếp đó, POSTGRES phát triển cách phổ biến, đặc biệt cộng đồng nghiên cứu.Qua trình phát triển lâu dài, PostgreSQL 6.0 thức đời dựa tảng POSTGRES trước thêm vào thực thi SQL Ngày nay, PostgreSQL dự án nguồn mở phổ biến Internet PostgreSQL hệ thống quản trị sở liệu quan hệ đối tượng dựa POSTGRES 4.2, phát triển trường đại học California phòng nghiên cứu máy tính Berkeley [1] Nó chương trình mã nguồn mở xây dựng mã nguồn ban đầu đại học Berkeley Nó hỗ trợ phần lớn cho SQL chuẩn cung cấp nhiều tính đại như: Trần Văn Thái - Lớp49K - Khoa CNTT Stt.010.Mssv.BKD002ac.email.ninhd 77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77t@edu.gmail.com.vn.bkc19134.hmu.edu.vn.Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn.bkc19134.hmu.edu.vn Trang C.33.44.55.54.78.65.5.43.22.2.4 22.Tai lieu Luan 66.55.77.99 van Luan an.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.33.44.55.54.78.655.43.22.2.4.55.22 Do an.Tai lieu Luan van Luan an Do an.Tai lieu Luan van Luan an Do an Đồ án tốt nghiệp Đại học • Các truy vấn phức tạp • Khóa ngồi • Trigger • Khung nhìn • Tính tồn vẹn giao dịch • Kiểm tra truy cập đồng thời đa phiên Ngoài ra, PostgreSQL mở rộng nhiều người dùng nhiều cách, ví dụ, người dùng thêm kiểu liệu, hàm, toán tử, hàm tập hợp, phương thức đánh mục ngôn ngữ thủ tục 1.2 So sánh PostgreSQL với số hệ sở quản trị liệu khác: Việc so sánh hệ quản trị PostgreSQL với số hệ quản trị sở liệu khác giúp có nhìn tổng quan ưu, nhược điểm hệ quản trị postgreSQL Thông tin đưa so sánh như: hệ điều hành hỗ trợ, tính bản, hỗ trợ bảng khung nhìn, chức đính mục, đối tượng khác Trần Văn Thái - Lớp49K - Khoa CNTT Stt.010.Mssv.BKD002ac.email.ninhd 77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77t@edu.gmail.com.vn.bkc19134.hmu.edu.vn.Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn.bkc19134.hmu.edu.vn Trang C.33.44.55.54.78.65.5.43.22.2.4 22.Tai lieu Luan 66.55.77.99 van Luan an.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.33.44.55.54.78.655.43.22.2.4.55.22 Do an.Tai lieu Luan van Luan an Do an.Tai lieu Luan van Luan an Do an Đồ án tốt nghiệp Đại học 1.2.1 Hệ điều hành hổ trợ: Bảng 1-1 : So sánh hệ điều hành hỗ trợ Windows Mac os x Linux BSD Unix Z/OS Mysql có có có có có Oracle có có có khơng có có Postgersql có có có có có 1.2.2 Các tính Bảng 1.2 so sánh tính ACID referential integrity Transactions Unicode Mysql Phụ thuộc[[#fn_3/3]] Phụ thuộc[[#fn_3/3]] Phụ thuộc[[#fn_3/3]] có/UTF-8(3 bye)& UCS2 Oracle Có Có Có Có Postgersql Có Có Có có/UTF8(4- bye) 1.2.3 Hỗ trợ bảng khung nhìn: Bảng 1.3 so sánh hổ trợ bảng khung nhìn Bảng Tạm Khung nhìn cụ thể Mysql Có Tương tự[[#fn_6/6]] Oracle Có Có Postgersql Có Tương tự[[#fn_7/7]] Trần Văn Thái - Lớp49K - Khoa CNTT Stt.010.Mssv.BKD002ac.email.ninhd 77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77t@edu.gmail.com.vn.bkc19134.hmu.edu.vn.Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn.bkc19134.hmu.edu.vn Trang C.33.44.55.54.78.65.5.43.22.2.4 22.Tai lieu Luan 66.55.77.99 van Luan an.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.33.44.55.54.78.655.43.22.2.4.55.22 Do an.Tai lieu Luan van Luan an Do an.Tai lieu Luan van Luan an Do an Đồ án tốt nghiệp Đại học 1.2.4 Chỉ mục Bảng so sánh 1.4 so sánh chức mục Cây R-/Cây Hàm Biểu R+ băm thức Mysql sql5.0Myisam, BDB,hoạc bảng innoDB mục mục phần đảo Bitmap GIST có bảng Khơng Khơng Khơng Khơng Khơng HEAP Oracle chí có phiên EE bảng gộp Có Khơng Postgersql có Có Có Có Có Có [[#fn_10/10]] Có Khơng Có Có 1.2.5 Các đối tượng khác Bảng 1-5 : So sánh đối tượng khác Domain Cursor Trigger Hàm[[#fn11/11]] Thủ tục[[#fn- External routine[[# 11/11]] fn-11/11]] Mysql Khơng Có Có Có Có Có Oracle Có Có Có Có Có Có Postgersql Có Có Có Có Có Có Nếu theo dõi bảng từ1.1.2.a->1.1.2.e so sánh hệ quản trị sở liệu MySQL, Oracle PostgreSQL thấy rằng, hệ quản trị sở liệu PostgreSQL mạnh, hoạt động hầu hết hệ điều hành, hỗ trợ nhiều tính bản, hỗ trợ nhiều kiểu đánh mục Ngày nay, PostgreSQL hệ quản trị sở lớn có Với tính đây, có nhìn tổng quan PostgreSQL: Trần Văn Thái - Lớp49K - Khoa CNTT Stt.010.Mssv.BKD002ac.email.ninhd 77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77t@edu.gmail.com.vn.bkc19134.hmu.edu.vn.Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn.bkc19134.hmu.edu.vn Trang C.33.44.55.54.78.65.5.43.22.2.4 22.Tai lieu Luan 66.55.77.99 van Luan an.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.33.44.55.54.78.655.43.22.2.4.55.22 Do an.Tai lieu Luan van Luan an Do an.Tai lieu Luan van Luan an Do an Đồ án tốt nghiệp Đại học 3.6.1.3.2 Ví dụ : Tim kiếm người có tên trân SinhVien ta tạo câu lệnh truy vấn sau: SELECT "MaSV", "TenSV", "Makhoa" FROM "SinhVien" WHERE "TenSV" LIKE '%trần%'; 3.6.1 dùng giao diện B1 Ta vào database sau vào Excute arbitrary SQLqueries hình vẻ B2 kết hình sau ta chon Graphical query Builder hình sau Trần Văn Thái - Lớp49K - Khoa CNTT Stt.010.Mssv.BKD002ac.email.ninhd 77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77t@edu.gmail.com.vn.bkc19134.hmu.edu.vn.Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn.bkc19134.hmu.edu.vn Trang 37 C.33.44.55.54.78.65.5.43.22.2.4 22.Tai lieu Luan 66.55.77.99 van Luan an.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.33.44.55.54.78.655.43.22.2.4.55.22 Do an.Tai lieu Luan van Luan an Do an.Tai lieu Luan van Luan an Do an Đồ án tốt nghiệp Đại học B3 Kết qua hình sau tiếp tục chon tên Database/schemas/public B4 từ ta tạo câu lệnh select cách chon vào kéo thả table chọn cột cần hiển thị hình sau Trần Văn Thái - Lớp49K - Khoa CNTT Stt.010.Mssv.BKD002ac.email.ninhd 77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77t@edu.gmail.com.vn.bkc19134.hmu.edu.vn.Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn.bkc19134.hmu.edu.vn Trang 38 C.33.44.55.54.78.65.5.43.22.2.4 22.Tai lieu Luan 66.55.77.99 van Luan an.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.33.44.55.54.78.655.43.22.2.4.55.22 Do an.Tai lieu Luan van Luan an Do an.Tai lieu Luan van Luan an Do an Đồ án tốt nghiệp Đại học B4: Sau chon xong chạy câu lệnh cách ấn vào Excute Query hình B5:Ta kết truy vấn câu lệnh truy vấn sau Trần Văn Thái - Lớp49K - Khoa CNTT Stt.010.Mssv.BKD002ac.email.ninhd 77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77t@edu.gmail.com.vn.bkc19134.hmu.edu.vn.Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn.bkc19134.hmu.edu.vn Trang 39 C.33.44.55.54.78.65.5.43.22.2.4 22.Tai lieu Luan 66.55.77.99 van Luan an.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.33.44.55.54.78.655.43.22.2.4.55.22 Do an.Tai lieu Luan van Luan an Do an.Tai lieu Luan van Luan an Do an Đồ án tốt nghiệp Đại học 3.7Tạo View (Bảng ảo): Bảng ảo thực chất đối tượng mà bên lưa trữ câu lệnh SELECT dùng để định dòng cột bảng mà định người dùng định nghĩa sữ dụng bảng ảo bảng thơng thường 3.7.1 Tọa dịng lệnh: 3.7.1.1 Cú pháp CREATE VIEW Tên_bảng_ảo [(Tên cột)] [WITH ENCRYPTION] AS Câu_lệnh_select [WITH CHECK OPITION] Trong +Tên_bảng_ảo tên bảng ảo cần tạo +danh sách cột sẻ sử dụng sau bảng ảo tham chiếu đến cột bảng ảo.Thông thường sữ dụng bảng ảo có sử dụng hàm tính tốn, cột trùng tên bảng khác +Từ khóa WITH ENCRYPTION dùng để mã hóa nội dung câu lệnh select bên bảng ảo khơng biết nội dung câu lệnh select bên bảng ảo +Từ khóa WITH CHECK OPITION dùng để ngăn cản thao tác cập nhật liệu (sửa ,thêm) tác động trực tiếp vào bảng ảo có làm ảnh hưởng đến bảng ảo có sử dụng mệnh đề where câu lệnh select 3.7.1.2 Ví dụ: tạo bảng ảo có tên XemSV gồm trường TenSV TenKhoa lấy từ bảng SinhVien Khoa ta tạo dòng lệnh sau create view XemSV as SELECT "SinhVien"."TenSV", "Khoa"."TenKhoa" FROM public."SinhVien", public."Khoa" Trần Văn Thái - Lớp49K - Khoa CNTT Stt.010.Mssv.BKD002ac.email.ninhd 77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77t@edu.gmail.com.vn.bkc19134.hmu.edu.vn.Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn.bkc19134.hmu.edu.vn Trang 40 C.33.44.55.54.78.65.5.43.22.2.4 22.Tai lieu Luan 66.55.77.99 van Luan an.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.33.44.55.54.78.655.43.22.2.4.55.22 Do an.Tai lieu Luan van Luan an Do an.Tai lieu Luan van Luan an Do an Đồ án tốt nghiệp Đại học WHERE "Khoa"."Makhoa" = "SinhVien"."Makhoa"; 3.7.2 Tạo giao diện B1.Vào database sau chọn vào view hình vẻ sau B2 Kích chuột phải chọn new view hình sau Trần Văn Thái - Lớp49K - Khoa CNTT Stt.010.Mssv.BKD002ac.email.ninhd 77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77t@edu.gmail.com.vn.bkc19134.hmu.edu.vn.Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn.bkc19134.hmu.edu.vn Trang 41 C.33.44.55.54.78.65.5.43.22.2.4 22.Tai lieu Luan 66.55.77.99 van Luan an.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.33.44.55.54.78.655.43.22.2.4.55.22 Do an.Tai lieu Luan van Luan an Do an.Tai lieu Luan van Luan an Do an Đồ án tốt nghiệp Đại học B3 Sau thiết nhập tên view cần tạo hình sau B4 chọn Definition viết câu lệnh select vào hình sau Trần Văn Thái - Lớp49K - Khoa CNTT Stt.010.Mssv.BKD002ac.email.ninhd 77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77t@edu.gmail.com.vn.bkc19134.hmu.edu.vn.Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn.bkc19134.hmu.edu.vn Trang 42 C.33.44.55.54.78.65.5.43.22.2.4 22.Tai lieu Luan 66.55.77.99 van Luan an.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.33.44.55.54.78.655.43.22.2.4.55.22 Do an.Tai lieu Luan van Luan an Do an.Tai lieu Luan van Luan an Do an Đồ án tốt nghiệp Đại học B5 Vào Privileges thiết lập thao tác phép thực view cần tạo B6: kích vào nút Ok để để hồn thành View 3.8Tạo Hàm người dùng định nghĩa Các ngôn ngữ lập trình cung cấp khả cho phép người dùng tự định nghĩa hàm xữ lý tính tốn giọi thực chúng cần chương trình PostgerSql củng 3.8.1 tạo câu lệnh 3.8.1.1Cú pháp CREATE [ OR REPLACE ] FUNCTION name ( [ [ argmode ] [ argname ] argtype [ { DEFAULT | = } default_expr ] [, ] ] ) [ RETURNSrettype | RETURNS TABLE ( column_namecolumn_type [, ] ) ] { LANGUAGElang_name | WINDOW | IMMUTABLE | STABLE | VOLATILE | CALLED ON NULL INPUT | RETURNS NULL ON NULL INPUT | STRICT Trần Văn Thái - Lớp49K - Khoa CNTT Stt.010.Mssv.BKD002ac.email.ninhd 77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77t@edu.gmail.com.vn.bkc19134.hmu.edu.vn.Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn.bkc19134.hmu.edu.vn Trang 43 C.33.44.55.54.78.65.5.43.22.2.4 22.Tai lieu Luan 66.55.77.99 van Luan an.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.33.44.55.54.78.655.43.22.2.4.55.22 Do an.Tai lieu Luan van Luan an Do an.Tai lieu Luan van Luan an Do an Đồ án tốt nghiệp Đại học | [ EXTERNAL ] SECURITY INVOKER | [ EXTERNAL ] SECURITY DEFINER | COST execution_cost | ROWS result_rows | SET configuration_parameter{ TOvalue | = value | FROM CURRENT } | AS 'definition' | AS 'obj_file', 'link_symbol' } [ WITH ( attribute [, ] ) ] Trong + name tên hàm cần tạo + argmode Các chế độ đối số: IN, OUT, INOUT, variadic Nếu bỏ qua, mặc định IN Chỉ OUT đối số làm theo variadic Ngồi ra, OUT INOUT đối số khơng sử dụng với ký hiệu RETURNS TABLE + argname Tên tham số Một số ngôn ngữ (hiện PL / pgSQL) cho phép bạn sử dụng tên phần thân hàm.Đối với ngôn ngữ khác, tên đối số đầu vào tài liệu hướng dẫn thêm, chức có liên quan, bạn sử dụng tên đối số đầu vào gọi chức để cải thiện khả đọc.Trong trường hợp nào, tên đối số đầu quan trọng, xác định tên cột loại hàng kết quả.(Nếu bạn bỏ qua tên cho đối số đầu ra, hệ thống chọn tên cột mặc định.) +argtype Các kiểu liệu (s) đối số hàm (tùy chọn trình độ schema), có Các loại đối số loại sở, composite, tên miền, tham khảo loại cột bảng +column_name Tên cột đầu cú pháp RETURNS TABLE +column_type kiểu liệu cột đầu cú pháp RETURNS TABLE +lang_name Tên ngôn ngữ mà chức thực SQL, C, nội bộ, tên người dùng xác định ngôn ngữ thủ tục Để tương thích ngược, tên bao bọc dấu nháy đơn Trần Văn Thái - Lớp49K - Khoa CNTT Stt.010.Mssv.BKD002ac.email.ninhd 77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77t@edu.gmail.com.vn.bkc19134.hmu.edu.vn.Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn.bkc19134.hmu.edu.vn Trang 44 C.33.44.55.54.78.65.5.43.22.2.4 22.Tai lieu Luan 66.55.77.99 van Luan an.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.33.44.55.54.78.655.43.22.2.4.55.22 Do an.Tai lieu Luan van Luan an Do an.Tai lieu Luan van Luan an Do an Đồ án tốt nghiệp Đại học + WINDOW WINDOW chức hàm window chức đơn giản điều hữu ích cho chức viết C Các thuộc tính WINDOW khơng thể thay đổi thay định nghĩa chức có +IMMUTABLE STABLE VOLATILE Những thuộc tính thơng báo cho truy vấn tối ưu hành vi chức Có thể lựa chọn tối đa thể định.Nếu khơng có xuất bằng, VOLATILE giả thiết mặc định + CALLED ON NULL INPUT + RETURNS NULL ON NULL INPUT CALLED ON NULL INPUT (mặc định) chức gọi bình thường số đối số null.Đó sau trách nhiệm tác giả chức để kiểm tra giá trị null cần thiết đáp ứng cách thích hợp RETURNS NULL ON NULL INPUT nghiêm ngặt hàm trả null đối số null.Nếu tham số quy định cụ thể, chức khơng thực thi có lập luận vơ giá trị, thay vào kết vô giá trị tự động mặc định +execution_cost số tích cực cho chi phí thực ước tính định chức năng, nhiệm vụ, đơn vị cpu_operator_cost Nếu chức trả tập, giá cho hàng trả lại Nếu giá khơng định, đơn vị giả thiết cho chức C-ngôn ngữ nội bộ, 100 đơn vị chức tất ngôn ngữ khác Giá trị lớn gây kế hoạch để cố gắng tránh đánh giá chức nhiều mức cần thiết 3.8.1.2 Ví dụ: tạo hàm có tên add có tham số đầu vao là kiểu integer chức hàm tính tổng tham số CREATE OR REPLACE FUNCTION add(integer, integer) RETURNS integer AS 'select $1 + $2;' LANGUAGE sql IMMUTABLE STRICT COST 100; Trần Văn Thái - Lớp49K - Khoa CNTT Stt.010.Mssv.BKD002ac.email.ninhd 77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77t@edu.gmail.com.vn.bkc19134.hmu.edu.vn.Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn.bkc19134.hmu.edu.vn Trang 45 C.33.44.55.54.78.65.5.43.22.2.4 22.Tai lieu Luan 66.55.77.99 van Luan an.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.33.44.55.54.78.655.43.22.2.4.55.22 Do an.Tai lieu Luan van Luan an Do an.Tai lieu Luan van Luan an Do an Đồ án tốt nghiệp Đại học 3.8.1 Tạo hàm giao diện B1 Vào database cần tạo sau sau vào Schemas/public/Function hình sau B2 Chốt phải vào Function chọn New Function hình sau Trần Văn Thái - Lớp49K - Khoa CNTT Stt.010.Mssv.BKD002ac.email.ninhd 77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77t@edu.gmail.com.vn.bkc19134.hmu.edu.vn.Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn.bkc19134.hmu.edu.vn Trang 46 C.33.44.55.54.78.65.5.43.22.2.4 22.Tai lieu Luan 66.55.77.99 van Luan an.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.33.44.55.54.78.655.43.22.2.4.55.22 Do an.Tai lieu Luan van Luan an Do an.Tai lieu Luan van Luan an Do an Đồ án tốt nghiệp Đại học B3 thiết lập tham số để tạo Function sau B4 sau thiết lập thành phần cần thiết ta chon ok để kết thúc 3.9 Tạo Trigger Trigger xem dạng đặc biệt thủ tục nội bên nội dung trigger lưu trữ câu lệnh dùng trực tiếp mà người lập trình nhiên khác với thủ tục nội trigger hồn tồn khơng có tham số.Ngồi khơng thể giọi thực trực tiếp băng lệnh EXCUTE thủ tục nội lệnh khác thay vào sẻ thực cách tự động liệu liên quan đến trigger bị cập nhật.Chính nhờ tính đặc biệt tự động thực mà nội dung lệnh bên trigger dùng cho công việc sau +Kiễm tra ràng buộc toàn vẹn liệu phức tạp +Thực xữ lý thiết kế thi hành SERVER xữ lý mà ta muốn chúng sẻ thực có thao tác INSERT,UPDATE, hoạc DELETE xảy +Trigger củng dùng để thay constrain trường hợp ta muốn kiểm tra ràng buộc liệu kèm theo câu thơng bào thích hợp theo ý người dùng Trần Văn Thái - Lớp49K - Khoa CNTT Stt.010.Mssv.BKD002ac.email.ninhd 77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77t@edu.gmail.com.vn.bkc19134.hmu.edu.vn.Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn.bkc19134.hmu.edu.vn Trang 47 C.33.44.55.54.78.65.5.43.22.2.4 22.Tai lieu Luan 66.55.77.99 van Luan an.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.33.44.55.54.78.655.43.22.2.4.55.22 Do an.Tai lieu Luan van Luan an Do an.Tai lieu Luan van Luan an Do an Đồ án tốt nghiệp Đại học 3.9.1 Tạo dòng lệnh 3.9.1.1 Cú pháp CREATE [ CONSTRAINT ] TRIGGER name { BEFORE | AFTER | INSTEAD OF } { event [ OR ] } ON table [ FROMreferenced_table_name ] { NOT DEFERRABLE | [ DEFERRABLE ] { INITIALLY IMMEDIATE | INITIALLY DEFERRED } } [ FOR [ EACH ] { ROW | STATEMENT } ] [ WHEN ( condition ) ] EXECUTE PROCEDURE function_name( arguments ) Trong +Name tên trigger cần tạo +BEFORE,AFTER,INSTEAD OF loại trigger +Table tên bảng hoạc view mà trigger tác động đến +function name tên hàm mà trigger sẻ thực +Arguments tên tham số hàm thực 3.9.2 Tạo giao diện B1 Vào Database /Schames/ public/Trigger function hình B2 sau kích chuột phải chọn New trigger function hình sau Trần Văn Thái - Lớp49K - Khoa CNTT Stt.010.Mssv.BKD002ac.email.ninhd 77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77t@edu.gmail.com.vn.bkc19134.hmu.edu.vn.Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn.bkc19134.hmu.edu.vn Trang 48 C.33.44.55.54.78.65.5.43.22.2.4 22.Tai lieu Luan 66.55.77.99 van Luan an.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.33.44.55.54.78.655.43.22.2.4.55.22 Do an.Tai lieu Luan van Luan an Do an.Tai lieu Luan van Luan an Do an Đồ án tốt nghiệp Đại học B3 Thiết lập tham số cần cho Trigger function B4:Sau thiết lập xong ta chon OK để hoàn thành Trần Văn Thái - Lớp49K - Khoa CNTT Stt.010.Mssv.BKD002ac.email.ninhd 77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77t@edu.gmail.com.vn.bkc19134.hmu.edu.vn.Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn.bkc19134.hmu.edu.vn Trang 49 C.33.44.55.54.78.65.5.43.22.2.4 22.Tai lieu Luan 66.55.77.99 van Luan an.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.33.44.55.54.78.655.43.22.2.4.55.22 Do an.Tai lieu Luan van Luan an Do an.Tai lieu Luan van Luan an Do an Đồ án tốt nghiệp Đại học KẾT LUẬN Sau thời gian nghiên cứu tìm hiểu, khóa luận thu kết sau: - Cài đặt, thao tác thành thạo với hệ quản trị CSDL PostgreSQL thông qua kiểu giao tương tác Ngoài ra, nắm rõ lịch sử phát triển ưu điểm so với hệ quản trị khác - Các thao tác hệ quản trị sở liệu PostgerSQL - Phần thực nghiệm Đề tài tạo số sở liệu thực thao tác Trong Đề tài, hy vọng đưa kiến thức cần thiết hệ quản trị CSDL PostgreSQL hi vọng sẻ sử dụng cách phổ biến đến nhiều người áp dụng vào thực tế Trần Văn Thái - Lớp49K - Khoa CNTT Stt.010.Mssv.BKD002ac.email.ninhd 77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77t@edu.gmail.com.vn.bkc19134.hmu.edu.vn.Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn.bkc19134.hmu.edu.vn Trang 50 C.33.44.55.54.78.65.5.43.22.2.4 22.Tai lieu Luan 66.55.77.99 van Luan an.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.33.44.55.54.78.655.43.22.2.4.55.22 Do an.Tai lieu Luan van Luan an Do an.Tai lieu Luan van Luan an Do an Stt.010.Mssv.BKD002ac.email.ninhd 77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77t@edu.gmail.com.vn.bkc19134.hmu.edu.vn.Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn.bkc19134.hmu.edu.vn