intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Chuyên đề: LẬP TRÌNH CƠ SỞ DỮ LIỆU

Chia sẻ: | Ngày: | Loại File: PPT | Số trang:41

233
lượt xem
69
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

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ữ…)

Chủ đề:
Lưu

Nội dung Text: Chuyên đề: LẬP TRÌNH CƠ SỞ DỮ LIỆU

  1. Chuyên đề LẬP TRÌNH CƠ SỞ DỮ LIỆU (Database Programming) Nguyễn Lương Thục E­mail:  thucnl@yahoo.com thucnl@gmail.com Sửa ngày 9/9/2009 TEL:  0914025047
  2. 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.
  3. 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%
  4. Các dạng ứng dụng điển hình mô hình Client-Server hiện nay
  5. 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?
  6. 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?
  7. 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?
  8. 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ể
  9. 1 Một số vấn đề về SQL-server
  10. 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ó
  11. 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
  12. 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
  13. 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)
  14. 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
  15. 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
  16. 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)
  17. 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()
  18. 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.
  19. 2 Ngôn ngữ Transact-SQL
  20. Các kiểu dữ liệu bigint Số nguyên ­2^63 (­9223372036854775808) ­2^63­1 (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  (
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2