Chuyên đề: LẬP TRÌNH CƠ SỞ DỮ LIỆU
lượt xem 69
download
Tại VN, trước đây nó được lập trình bằng dBASE, FoxPro, Access. Hiện nay, người ta có xu hướng sử dụng .NET hơn vì nhiều lý do (công nghệ, font chữ…)
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Chuyên đề: LẬP TRÌNH CƠ SỞ DỮ LIỆU
- Chuyên đề LẬP TRÌNH CƠ SỞ DỮ LIỆU (Database Programming) Nguyễn Lương Thục Email: thucnl@yahoo.com thucnl@gmail.com Sửa ngày 9/9/2009 TEL: 0914025047
- Mở đầu • Phần lớn các phần mềm hiện nay đều là các hệ quản trị cơ sở dữ liệu. • Tại VN, trước đây nó được lập trình bằng dBASE, FoxPro, Access. Hiện nay, người ta có xu hướng sử dụng .NET hơn vì nhiều lý do (công nghệ, font chữ…) • Tùy theo điều kiện (loại mạng, loại đường truyền, loại tác vụ, kinh phí…) mà người lập trình quyết định giải pháp là desktop application hay web application. • Các công đoạn để thiết kế một phần mềm.
- Tìm hiểu yêu cầu bài toán 10% Khảo sát thực tế (cơ sở vật chất, trình độ sử 10% dụng, quy mô bài toán, tổ chức hành chính...) Phân tích, Mô hình hoá bài toán, Xây dựng hệ 20% thống Ước chừng Tìm kiếm giải pháp (thuật toán, kỹ thuật xử chi phí 30% lý...) cho mỗi khối trong hệ thống thời gian 20% Coding Kiểm định với Bộ dữ liệu giả 3% Kiểm định với Bộ dữ liệu thực 5% Chính thức đưa vào sử dụng 2%
- Các dạng ứng dụng điển hình mô hình Client-Server hiện nay
- DẠNG DESKTOP APPLICATION Trung tâm Dữ liệu SERVER CLIENT Yêu cầu về dữ liệu (Y) SQL-server (dạng lệnh SQL) Tương tác trên Trình điều khiển chương trình SQL SERVER ứng dụng Chuyển Q về client Chương trình Truy xuất (dưới dạng cursor) Kết quả Q database ứng dụng theo (Y) cài trên desktop (PC) Thao tác dữ liệu chủ yếu bằng các SQL control dạng Form Database - Ưu điểm và nhược điểm? - Khi nào thì nên sử dụng dạng này?
- DẠNG WEB APPLICATION WEBSITE SERVER 1 CLIENT Y/C web page HTTP-server Truy cập dữ liệu theo (GET/POST) yêu cầu của web page Tương tác trên Trình điều khiển Web browser Truy cập Web (IIS, PWS…) Trả về dạng Web web page browsers SQL-server (html) (IE, FireFox…) Trình điều khiển Thao tác dữ liệu SQL SERVER chủ yếu bằng các control dạng Web Web application (trình ứng dụng) (html,asp, aspx,img…) SQL Database - Ưu điểm và nhược điểm? - Khi nào thì nên sử dụng SERVER 2 dạng này?
- DẠNG WEB SERVICES APPLICATION WEBSITE SERVER 1 CLIENT Y/C dịch vụ S HTTP-server Truy cập dữ liệu theo (services) yêu cầu của web page Tương tác trên Trình điều khiển chương trình Truy cập Web ứng dụng (IIS, PWS…) Trả kết quả về dạng SOAP- SQL-server Simple Object Chương trình Trình điều khiển Access Protocol) ứng dụng (XML) SQL SERVER (desktop hoặc Web Web application) Services S1,S2,S3… SQL Database - Ưu điểm và nhược điểm? SERVER 2 - Khi nào thì nên sử dụng dạng này?
- Nội dung • 1. Một số vấn đề về SQL server • 2. Lập trình với ngôn ngữ Transact-SQL • 3. Sử dụng Interprise Manager • 4. Lập trình CSDL trong .NET • 5. Bài tập: Thiết kế một ứng dụng cụ thể
- 1 Một số vấn đề về SQL-server
- Cài đặt SQL-Server - MS SQL-SERVER: Trình điều khiển SQL-server cài trên máy server (nhiều dạng (Professional, Personal..) nhiều version (2000,2003,2005,2008…)) - MSDE (Microsoft Desktop Enginner): SQL-server cài trên desktop Các trạng thái: Start : SQL-server tiếp nhận các yêu cầu và xử lý yêu cầu từ client Pause: Tạm dừng, không cắt các kết nối Stop: Dừng SQL-server Khả năng xử lý: Các câu lệnh ngôn ngữ SQL SQL-server chứa ngôn ngữ Transact-SQL=> cho phép lập trình trên nó
- SQL-database 1. Datagrams: Các lược đồ về CSDL 2. Tables: Các bảng dữ liệu 3. Views: Mỗi “view” tương đương với một lệnh SELECT được dựng sẳn 4. Stored Procedures: Các chương trình con (thủ tục) viết bằng ngôn ngữ Transact-SQL sẽ được thực hiện tại Server 5. Users: Danh sách tài khoản người sử dụng (account) 6. Roles: Mô tả nhóm người dùng 7. Rules: Các luật 8. Defaults: Các giá trị mặc định 9. User Defined Data Types: Các kiểu dữ liệu của người sử dụng 10. User Defined Functions: Các hàm viết bằng ngôn ngữ Transact-SQL được thực hiện tại server
- Cách thức truy xuất SQL-server: Bước 1: Thực hiện thủ tục kết nối (connect) với Database D Bước 2: Dãy lệnh giao dịch dữ liệu: Chuyển yêu cầu (Y) đến SQL-server Nhận kết quả mà SQL-server trả lại (Q) Bước 3: Cắt kết nối (disconnect) với database D Chú ý: Yêu cầu Y phải viết bằng ngôn ngữ Transact-SQL thì SQL mới “hiểu” được
- Làm thế nào để kết nối với một database trong SQL server ? Phải gửi đến Server chuổi mô tả kết nối (Stringconnect), chuổi này phải ch ỉ ra: - Địa chỉ SQL server: (localhost/tên server/điạ chỉ IP) Data source = ? - Tên database cần kết nối : Initial Catalog = ? (tên database) - Xác định quyền truy xuất: Integrated Security=? (true/false) (sử dụng luôn Windows account User ID, Password=? (username, password) (sử dụng SQL server account)
- Ví dụ: Khi SQL server trên cùng máy với tính ứng dụng: (1) Sử dụng luôn Windows account : Data Source=localhost;Initial Catalog=QLSV;Integrated Security=True (2) Sử dụng SQL server account : Data Source=localhost;Initial Catalog=QLSV;User ID=minh; Password=123456; Trusted_Connection=False
- Khi SQL server trên máy tính từ xa: Nói chung không sử dụng Integrated Security=True ? (1) Kết nối theo tên server (thường cho mạng LAN) Data Source=DHSPHUE;Initial Catalog=QLSV;User ID=minh;Password=123456; Trusted_Connection=False" (2) Kết nối theo điạ chỉ IP (thường trong các mạng sử dụng TCP/IP như Internet) Data Source=203.65.001.001:1433;Network Library=DBMSSOCN; Initial Catalog=QLSV;User ID=minh;Password=12345; Trusted_Connection=False
- Yêu cầu đến SQL-server thường là: Client có thể gửi đến SQL-server các loại yêu cầu viết theo cú pháp của Transact-SQL: 1. Các lệnh thiết lập môi trường cho SQL server SET… Kết quả trả về: Chỉ thị thành công/lỗi 2. Các lệnh tạo lập cấu trúc cơ sở dư liệu CREATE DATABASE…,CREATE TABLE…,DROP TABLE…, ALTER TABLE … CREATE PROCEDURE...., CREATE FUNCTION... Kết quả trả về: Chỉ thị thành công/lỗi 3. Các lệnh truy vấn SELECT …. Kết quả trả về: + Chỉ thị thành công/lỗi + Một/một số cursor (giống như table trong bộ nhớ) 4. Các lệnh thao tác dữ liệu: INSERT INTO …. UPDATE …. DELETE …. Kết quả trả về: Chỉ thị thành công/lỗi 5. Các lệnh yêu cầu thực thi một Stored Procedure/User Defined Function hoặc một hàm tạo sẵn của hệ thống EXEC… Kết quả trả về: + Chỉ thị thành công/lỗi + Giá trị hàm/thủ tục (một giá trị đơn, cursor)
- Một ví dụ nhỏ (VB.NET): Khai báo các biến Dim cn As SqlConnection Dim cmd As SqlCommand Dim da As New SqlDataAdapter Dim ds As New DataSet Khai báo và mở kết nối cn = New SqlConnection("Data Source = NLTHUC; Initial Catalog = QLSV; _ User ID = minh; Password=123456; Trusted_Connection=False" ) cn.Open() Thực hiện thiết lập môi trường cmd = New SqlCommand("SET DATEFORMAT dmy", cn) cmd.ExecuteNonQuery() cmd.Dispose() Thực hiện truy vấn toàn bộ table hoso của database QLSV cmd = New SqlCommand(“SELECT * FROM hoso”, cn) da.SelectCommand = cmd da.Fill(ds, “hoso”) da.Dispose() cmd.Dispose() …xử lý dữ liệu từ datatable ds.Table(“hoso”) Cắt kết nối cn.Close() cn.Dispose()
- Vấn đề gì cần phải quan tâm? 1. Học ngôn ngữ Transact-SQL của SQL server SQL server chỉ có thể “hiểu” các yêu cầu cũng như các hàm/thủ tục.. được viết bằng ngôn ngữ Transact-SQL 2. Tập theo tác trên một số tiện ích như Interprise Manager Không nhất thiết tất cả phải qua lập trình. Chẳng hạn, việc tạo cấu trúc cho một database (khai báo table, stored procedure/UDF) có thể thao tác bằng tay thông qua các tiện ích này 3. Làm thế nào, sử dụng hàm gì của các ngôn ngữ lập trình (như VB, VFP, .NET…) để giao tiếp với SQL server ? Cách thức chung nhưng cú pháp lệnh, hình thức mô tả có th ể khác nhau chút ít giữa các ngôn ngữ lập trình. 4. Thiết kế một ứng dụng CSDL thực tế như thế nào? Mục tiêu cuối cùng hướng đến. Thực chất, nó không khó vì bản ch ất là giống nhau. Chỉ khác về cách trình bày.
- 2 Ngôn ngữ Transact-SQL
- Các kiểu dữ liệu bigint Số nguyên 2^63 (9223372036854775808) 2^631 (9223372036854775807). int Số nguyên 2^31 (2,147,483,648) 2^31 1 (2,147,483,647). smallint Số nguyên 2^15 (32,768) 2^15 1 (32,767). tinyint Số nguyên 0 255. bit Số nguyên 0,1. decimal Số thực 10^38 +1 10^38 –1. numeric Như decimal. money 2^63 (922,337,203,685,477.5808) 2^63 1 (+922,337,203,685,477.5807) smallmoney 214,748.3648 +214,748.3647. float Số thực 1.79E + 308 1.79E + 308. real Số thực 3.40E + 38 3.40E + 38. datetime Date and time data từ 01/01/1753 – 31/12/9999 smalldatetime Date and time data từ 01/01/1900 – 06/06/2079. char Chuổi độ dài cố định không Unicode (
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Giáo trình Cơ sở dữ liệu - Ngô Trần Thanh Thảo
176 p | 1612 | 686
-
Bài giảng Hệ quản trị cơ sơ dữ liệu - Ks Nguyễn Vương Thịnh
241 p | 214 | 53
-
Chương 3: Truy cập cơ sở dữ liệu với NET
45 p | 178 | 50
-
Lập trình cơ sở dữ liệu & Report - Ví dụ và Bài tập Visual Basic.NET: Phần 2
268 p | 115 | 27
-
Ngôn ngữ Lập trình cơ sở dữ liệu và Report: Phần 1
202 p | 119 | 15
-
Ngôn ngữ Lập trình cơ sở dữ liệu và Report: Phần 2
268 p | 60 | 12
-
Cơ sở dữ liệu trong đám mây
5 p | 145 | 10
-
Di chuyển một ứng dụng PHP từ MySQL sang DB2 Phần 2: Di trú dữ liệu của bạn
17 p | 88 | 8
-
Bài giảng Chuyên đề 1: Lập trình Web - Phạm Văn Thuận
38 p | 79 | 8
-
Giáo trình Lập trình java (Nghề: Công nghệ thông tin - Cao đẳng): Phần 1 - Trường CĐ nghề Kỹ thuật Công nghệ
32 p | 54 | 6
-
Bài giảng Lập trình Windows - Trường CĐN Việt Đức Vĩnh Phúc
184 p | 46 | 6
-
Đề thi kết thúc môn học học kì 2 môn Chuyên đề hướng đối tượng cơ sở dữ liệu năm 2020-2021 có đáp án - Trường ĐH Đồng Tháp
3 p | 40 | 6
-
Lập trình với XML cho DB2, Phần 4: Tích hợp dữ liệu từ các nguồn dữ liệu khác nhau trong ứng dụng DB2 dựa trên web của bạn
13 p | 106 | 6
-
Chuyển đổi giữa Cơ sở dữ liệu quan hệ và XML
28 p | 71 | 5
-
Giáo trình Cơ sở dữ liệu nâng cao (Nghề Lập trình máy tính): Phần 2 - Tổng cục dạy nghề
49 p | 39 | 4
-
Đề thi tốt nghiệp cao đẳng nghề khoá II (năm 2008 - 2011) nghề Quản trị cơ sở dữ liệu môn thi lý thuyết nghề - Mã đề thi: QTCSDL-LT17
5 p | 65 | 3
-
Đề thi tốt nghiệp cao đẳng nghề khoá II (năm 2008 - 2011) nghề Quản trị cơ sở dữ liệu môn thi lý thuyết nghề - Mã đề thi: QTCSDL-LT40
3 p | 39 | 2
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn