Bài giảng Sql Biên tập bởi: Vien CNTT DHQG Hanoi

Tài liệu tương tự
Truy vấn, Ràng buộc, Trigger Truy vấn, Ràng buộc, Trigger Bởi: Ths. Phạm Hoàng Nhung SQL (Structured Query Language) là ngôn ngữ truy vấn cấu trúc đượ

Microsoft Word - cu_phap_sqlite.docx

View, Procedure, Function & Trigger

Cấu trúc và hoạt động của máy tính cá nhân Biên tập bởi: Vien CNTT DHQG Hanoi

Toán Ứng Dụng Biên tập bởi: PGS.TS. Nguyễn Hải Thanh

Chương 1:

Cách tạo User và Thiết kế Database Cách tạo User và Thiết kế Database Bởi: Khoa CNTT ĐHSP KT Hưng Yên Cách tạo một User Database Chúng ta có thể tạo m

Microsoft Word - su_dung_sqlite_voi_php.docx

Thực hành hàm kết hợp và gom nhóm Thực hành hàm kết hợp và gom nhóm Bởi: Khoa CNTT ĐHSP KT Hưng Yên Nhắc lại lý thuyết Hàm kết hợp Hàm count(), min(),

Tìm hiểu ngôn ngữ lập trình Visual Basic Tìm hiểu ngôn ngữ lập trình Visual Basic Bởi: Khuyet Danh Tìm hiểu ngôn ngữ lập trình Visual Basic Tổng quan

HỌC VIỆN KỸ THUẬT QUÂN SỰ KHOA CÔNG NGHỆ THÔNG TIN CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập Tự do Hạnh phúc ĐỀ CƯƠNG CHI TIẾT HỌC PHẦN CÔNG NGHỆ CLI

Stored Procedures Stored Procedures Bởi: Khoa CNTT ĐHSP KT Hưng Yên Trong những bài học trước đây khi dùng Query Analyzer chúng ta có thể đặt tên và s

Dãy số thời gian trong việc phân tích và dự đoán thống kê về Du lịch Biên tập bởi: Phan Quán Thành

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG TIN HỌC ĐẠI CƯƠNG Bài 5. Kiểu dữ liệu và biểu thức trong C Nội dung 1. Các ki

HƯỚNG DẪN SỬ DỤNG CÁC SẢN PHẨM CỦA OFFICE 365 Hợp đồng số: 25/KTQD-FPT Cung cấp hệ thống Office trực tuyến và thư điện tử Trường Đại Học Kinh Tế Quốc

SQL SQL Bởi: phamgiatien phamthephi SQL MỤC ĐÍCH Giới thiệu một hệ CSDL chuẩn, SQL, các thành phần cơ bản của của nó. YÊU CẦU Hiểu các thành phần cơ b

Nhập môn Công Nghệ Thông Tin 1

Bài tập chương 1 ngôn ngữ lập trình visual basic Bài tập chương 1 ngôn ngữ lập trình visual basic Bởi: Khoa CNTT ĐHSP KT Hưng Yên MỤC TIÊU: SAU KHI HO

Chương II - KIẾN TRÚC HỆ ĐIỀU HÀNH

Thức ăn và nuôi dưỡng bò sữa Biên tập bởi: nguyenxuantrach

NGÔN NGƯ LÂ P TRIǸH Biên tập bởi: nguyenvanlinh

BẢO MẬT HỆ THỐNG THÔNG TIN

Kiểu dữ liệu văn bản Kiểu dữ liệu văn bản Bởi: PGS. TS. NGƯT Phạm Văn Huấn Ngoài những dữ liệu số như các số nguyên, số thực, máy tính còn có thể lưu

Kỹ thuật phần mềm ứng dụng

Nhúng mã-cách khai báo biến Nhúng mã-cách khai báo biến Bởi: Khoa CNTT ĐHSP KT Hưng Yên Nhúng mã javascript trong trang HTML Bạn có thể nhúng JavaScri

Slide 1

The Total Economic Impact™ Of IBM Security Guardium

Các biến và các kiểu dữ liệu trong JavaScript Các biến và các kiểu dữ liệu trong JavaScript Bởi: Hà Nội Aptech Các biến (Variables) Biến là một tham c

TRƯỜNG Đ CK Joel Murach lay Harris TÜ SACH BẢN QUYỄN FPT Polytechnic P H P v ä MySQL Murach's PHP and MySQL Khởi động nhanh với PHP & MySQL

BỘ GIÁO DỤC VÀ ĐÀO TẠO

TRƯỜNG THPT CHUYÊN NGUYỄN HUỆ - HÀ NỘI Mã đề thi 209 ĐỀ THI HỌC KÌ II LỚP 12 NĂM HỌC Môn: Toán Thời gian làm bài: 90 phút (50 câu trắc nghiệ

Microsoft Word - Cau hoi on tap.doc

Microsoft Word - Co so du lieu phan tan - cap nhat

Chương trình dịch

WICELL User Guide Smart Cloud Wicell Controller Standard Version Manual version

Công cụ trong VB6 Công cụ trong VB6 Bởi: FPT Software Để tìm hiểu về các công cụ trong VB chúng ta sẽ đề cập tới Add-in Các công cụ trong add-in Trình

Phân tích bài Ý nghĩa Văn chương của Hoài Thanh Hoài Thanh tên thật là Nguyễn Đức Nguyên ( ), quê ở xã Nghi Trung, huyện Nghi Lộc, tỉnh Nghệ A

2018 Nhận xét, phân tích, góp ý cho Chương trình môn Tin học trong Chương trình Giáo dục Phổ thông mới

Nội dung chương 3 IT1110 Tin học đại cương Phần I: Tin học căn bản Chương 3: Hệ thống máy tính 3.1. Giới thiệu 3.2. Chức năng và các thành phần của má

Like fanpage của chúng tôi để cập nhật nhiều đề thi thử hơn qua Facebook : Website Đề Thi Thử T

Bài 1: (25 điểm)

ITS Project

Hướng dẫn bắt đầu sử dụng mozabook mozabook 2 Cài đặt, bắt đầu, Bản đồ màn hình Mở ấn phẩm, Nhập PDF và PPT Dẫn đường, Cập nhật ấn phẩm Ấn phẩm mới Nộ

Kỹ năng tạo ảnh hưởng đến người khác (Cẩm nang quản lý hiệu quả) Roy Johnson & John Eaton Chia sẽ ebook : Tham gia cộn

OpenStax-CNX module: m Giới thiệu về ngôn ngữ C và môi trường turbo C 3.0 ThS. Nguyễn Văn Linh This work is produced by OpenStax-CNX and licens

Microsoft Word - Co so du lieu - cap nhat

THƯ VIỆN TRUNG TÂM ĐHQG-HCM PHÒNG PHỤC VỤ ĐỘC GIẢ * I. CỔNG TRA CỨU & TRUY CẬP TÀI LIỆU KHOA HỌC 3 I. MỤC LỤC TRỰC TUYẾN TVTT Tìm lướt:

KẾ HOẠCH THỰC TẬP CƠ SỞ DỮ LIỆU I. MỤC ĐÍCH, YÊU CẦU Mục đích: Giúp sinh viên rèn luyện các kỹ năng về xây dựng cơ sở dữ liệu, cài đặt, quản trị, thao

Lập trình cấu trúc trong Visual Basic Lập trình cấu trúc trong Visual Basic Bởi: Nguyễn Sơn Học xong chương này, sinh viên phải nắm bắt được các vấn đ

Các Vấn Đề Cơ Sở Của Khoa Học Máy Tính Th.S GVC Tô Oai Hùng BAØI TAÄP CHÖÔNG 1 1. Viết giải thuật để mô tả thói quen mỗi buổi sáng của bạn, từ lúc ngh

Chuyển đổi tương tự - số photonic bằng cách dùng buồng cộng hưởng Fabry- Perot phi tuyến Chuyển đổi tương tự - số song song về mặt không gian được đề

Modbus RTU - Modbus TCP/IP Converter

Co s? d? li?u (Database)

Hệ điều hành Bài tập tuần 6 1 Quản lý bộ nhớ Bài tập 1 : Xem thông tin bộ nhớ 1. Sử dụng top, ps đọc thông tin về kích thước vùng nhớ của 1 tiến trình

Microsoft Word - Tailieu win2003.doc

Giới thiệu về ADO.NET Giới thiệu về ADO.NET Bởi: phamvanviet truonglapvy Trong thực tế, có rất nhiều ứng dụng cần tương tác với cơ sở dữ liệu..net Fra

000.Bia

Lớp đối tượng trong.net Framework Lớp đối tượng trong.net Framework Bởi: Khuyet Danh Trong chương này chúng ta sẽ tìm hiểu các lớp cơ sở mà.net cung c

Thực hành trên Rose Thực hành trên Rose Bởi: Đoàn Văn Ban Xây dựng biểu đồ thành phần + Tạo lập mới hoặc mở một biểu đồ thành phần đã được tạo lập trư

HỘI THI TIN HỌC TRẺ TỈNH AN GIANG ĐỀ CHÍNH THỨC ĐỀ THI LÝ THUYẾT BẢNG A - KHỐI TIỂU HỌC Khóa ngày: Thời gian : 20 phút (không kể thời gian

GV NGUYỄN KHẮC HƯỞNG ĐỀ SỐ 120 (Đề thi có 5 trang) ĐỀ THI THỬ THPT QUỐC GIA 2017 Môn thi: TOÁN Thời gian làm bài: 90 phút. Họ và tên thí sinh:

Chương trình dịch

Đề thi thử THPT Quốc Gia 2019 môn Toán Trường THPT Chuyên ĐH Vinh - Nghệ An - Lần 1

Microsoft Word - 2- Giai phap han che su phu thuoc kinh te vao Trung Quoc.doc

Microsoft Word - PhuongThuy-Mang_van_hoc_tren_bao_Song.doc

Microsoft Word - Muc dich mon hoc.doc

Đề toán thi thử THPT chuyên Hùng Vương tỉnh Bình Dương năm 2018

TCVN 11391:2016 MỤC LỤC 1 Phạm vi áp dụng Tài liệu viện dẫn Thuật ngữ, định nghĩa và các từ viết tắt Thuật ngữ và định nghĩa...

(Tái bản lần thứ hai)

SỞ GD& ĐT NGHỆ AN TRƯỜNG THPT HÀ HUY TẬP I. Đọc hiểu (3,0 điểm) KỲ THI KHẢO SÁT KÌ I NĂM HỌC ĐỀ THI MÔN: NGỮ VĂN- LỚP 10 Thời gian làm bài:

Lớp đối tượng String Lớp đối tượng String Bởi: Khuyet Danh Ngôn ngữ C# hỗ trợ khá đầy đủ các chức năng của kiểu chuỗi mà chúng ta có thể thấy được ở c

GV NGUYỄN KHẮC HƯỞNG ĐỀ SỐ 13 (Đề thi có 5 trang) ĐỀ THI THỬ THPT QUỐC GIA 2017 Môn thi: TOÁN Thời gian làm bài: 90 phút. Họ và tên thí sinh:

Bảo tồn văn hóa

ThemeGallery PowerTemplate

Microsoft Word - mot_so_tool_trong_android.docx

Kiến trúc tập lệnh1

Microsoft Word - Day_lop_4_P1.doc

Easy UI Solution 3 Hướng dẫn sử dụng

Ch­ng I

Microsoft Word - Huong dan su dung Mailchimp.docx

Microsoft Word - Authpaper_ICO_2019.docx

Slide 1

PowerPoint Template

CÁC PHƯƠNG PHÁP GIẢNG DẠY TÍCH CỰC

Trường Tiểu Học Ray M. Schmitt Phục Vụ từ Mẫu Giáo đến hết Lớp Năm 7200 Trask Avenue Westminster, CA (714) Hiệu Trưởng Jerry Gargus Học

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRUNG TÂM LUYỆN THI THỦ KHOA Hồ Chí Minh - Năm

Mười Vạn Câu Hỏi Vì Sao?: Toán Học Chia sẽ ebook : Tham gia cộng đồng chia sẽ sách : Fanpage :

10. CTK tin chi - KE TOAN.doc

Chương 4 : Sử dụng Hàm(Function) Chương 4 : Sử dụng Hàm(Function) Bởi: Khoa CNTT ĐHSP KT Hưng Yên Hàm (Function) được xem như là những công thức định

NGHỆ THUẬT DIONYSOS NHƯ MỘT DIỄN NGÔN TRONG THƠ THANH TÂM TUYỀN Trần Thị Tươi 1 Tóm tắt Là một trong những thành viên trụ cột của nhóm Sáng Tạo những

03. CTK tin chi - CONG NGHE KY THUAT CO KHI.doc

10 Vạn Câu Hỏi Vì Sao - Tin Học

Microsoft Word - jsp_syntax.docx

CHỮ NGƯỜI TỬ TÙ (NGUYỄN TUÂN) I. Kiến thức cơ bản: 1. Tác giả: ( Kết hợp với đề: Anh ( chị) hãy nêu những nét chính trong sự nghiệp sáng tác của Nguyễ

SỞ GD&ĐT VĨNH PHÚC ĐỀ CHÍNH THỨC (Đề thi có 05 trang) KỲ KHẢO SÁT KIẾN THỨC THPT LẦN 1 NĂM HỌC MÔN: TOÁN - LỚP 12 Thời gian làm bài: 90 phút

XJ-UT311WN_XJ-UT351WN

Microsoft PowerPoint - Chuong_06.ppt

8/22/2016 TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI HANOI UNIVERSITY OF SCIENCE AND TECHNOLOGY Nội dung lý thuyết Phần 1 Nhập môn và các kỹ năng Bài 1 Giới thiệ

Phương pháp biểu diễn thuật toán Phương pháp biểu diễn thuật toán Bởi: Khoa CNTT ĐHSP KT Hưng Yên Khi chứng minh hoặc giải một bài toán trong toán học

Chương 1:

Bản ghi:

Bài giảng Sql Biên tập bởi: Vien CNTT DHQG Hanoi

Bài giảng Sql Biên tập bởi: Vien CNTT DHQG Hanoi Các tác giả: Vien CNTT DHQG Hanoi Phiên bản trực tuyến: http://voer.edu.vn/c/1bb6a607

MỤC LỤC 1. Sql server 2. Truy vấn thông tin 3. Cập nhật dữ liệu 4. Tạo lập và quản lí CSDL Tham gia đóng góp 1/37

Sql server Giới thiệu chung về SQL Vài nét khái quát Lịch sử SQL ra đời vào năm 1970 - tại Phòng thí nghiệm của IBM, San Jose, California. Là một ngôn ngữ mô tả, phi thủ tục - Non procedural language. Các câu lệnh mô tả yêu cầu cần phải Làm gì - What, chứ không cần nêu từng bước tiến hành Làm như thế nào - How Tên gọi sql = Structured Query Language, nghĩa là ngôn ngữ truy vấn (thông tin) có cấu trúc. Thực chất không chỉ có Query mà SQL còn thực hiện nhiều chức năng khác như bổ xung thêm dữ liệu, sửa đổi cập nhật thông tin, huỷ thông tin, liên kết lưu trữ thông tin. Vậy phải gọi là Structured Add, Modify, Delete, Join, Store, Trigger & Query Language. Ngày nay SQL thực tế đa trở thành chuẩn - De facto Standard - để truy vấn và xử lí dữ liệu trong hầu hết các hệ quản trị CSDL. Ngôn ngữ SQL được dùng trong các ứng dụng CSDL theo mô hình Client-Server. Các chương trình khách gửi yêu cầu truy vấn thông tin dưới dạng các câu lệnh SQL. Chương trình chủ dịch vụ - Server CSDL - sẽ thực hiện yêu cầu và gửi lại kết quả cho chương trình khách. Có hai họ sản phẩm, để cài đặt cho PC và để cìa đạt trong các hệ thống lớn -VLDB - very large DB. Ví dụ một số hệ quản trị CSDL điển hình. MicroSoft Access. Personal oracle - SQL* Plus 2/37

MicroSoft Query. OBBC - Open Database Connectivity. Là thư viện các hàm (chức năng) cung cấp một giao diện trình ứng dụng - API -chung tới hệ thống DB. Không phụ thuộc vào nhà cung cấp hệ quản trị DBMS, ( non vendor- specific) Các nhà cung cấp thường thêm các tính năng ngoài chuẩn, ví dụ : Transact-SQL của MicroSoft & Sybase, PL/SQL của Oracle. ODBC đã thành chuẩn, nhiều sản phẩm chấp nhận và phát triển các công cụ dùng chuẩn này : Visual Basic, Visual C++, Foxpro, Borland Delphi, Power Builder... Cần cân nhắc ODBC : portability, nhưng chậm hơn Vendor specific : nhanh hơn, tối ưu hơn. 3/37

SQL trong chương trình ứng dụng. Ba kiểu tương tác với ứng dụng - Mođun : các thủ tục làm sẵn. thông qua các tham số, gọi và trả kết quả về. - Nhúng trực tiếp : các câu lệnh SQL trong chương trình. - Gọi trực tiếp : tương tác. Nhúng là hình thức làm việc tĩnh - static : câu lệnh được biên dịch ra, không thay đổi được khi chạy. Hiện nay Dynamic SQL : cho phép chuẩn bị câu lệnh SQL trong khi chạy. Các thành phần của câu lệnh SQL được ghép nối lại trong thời gian chạy, cho phép mức linh hoạt rất cao trong khai thác CSDL. Giống như chuyển từ compiler sang interpreter. 4/37

Odbc có tính năng Dynamic. Chuẩn ANSI 1992 : SQL-92 định nghĩa 3 mức tương thích của một hệ quản trị CSDL với SQL - SQL compliance : entry, intermediate, full. 5/37

Truy vấn thông tin SQL Query Một câu lệnh SQL thường gọi là một Query. Như trên đã nêu, Query không chỉ đơn giản là hỏi - truy vấn thông tin từ CSDL để phục vụ NSD. Một SQL query có thể - tạo lập hay huỷ một bảng - thêm, xoá, cập nhật một dòng, một trường - tiùm kiếm trong nhiều bảng có liên quan - thay đổi chế độ an toàn. Trong chương này ta chỉ tập chung vào chức năng hay sử dụng nhất của một SQL Query là truy vấn thông tin. Cú pháp chung - câu lệnh SELECT. - câu lệnh SQL không phân biệt chứ in hoa, viết thường. (Nhưng kiểu dữ liệu Char = xâu kí tự thì có phân biệt). - dấu cách có thể là : các khoảng trắng, dấu table, dấu xuống dòng. - kết thúc câu lệnh có thể là : dấu chấm phẩy hoặc không có gì tuỳ theo từng hệ thống. Ví dụ SELECT NAME, STARTTERM, ENDTERM FROM PRESIDENTS WHERE NAME = 'LINCOLN' Select name, startterm, endterm From presidents Where name = 'LINCOLN' 6/37

Select name, startterm, endterm From presidents Where name = 'LINCOLN' Các thành phần cơ bản. Các từ khoá + các biểu thức -> các điều khoản Các điều khoản -> câu lệnh SQL select <danh sách tên cột>from <tên bảng> where <điều kiện tìm kiếm> điều khoản Selectđiều khoản Fromđiều khoản Where Danh sách tên cột : các tên cột cách nhau dấu phẩy thứ tự giống như đã liệt kê, có thể khác với thứ tự vốn có trong bảng. * = tất cả các cột theo thứ tự vốn có Vi dụ : Giả sử có bảng tên là Employee với các trường (các cột) tên là Badge, Name, Departement, BirthYear, Salary. Sau này ta sẽ viết ngắn gọn như sau : Employee ( Badge, Name, Departement, BirthYear, Salary ). Câu lệnh sau đây sẽ hiện toàn thể nội dung của bảng. SELECT * FROM EMPLOYEE Badge Name Department Birth year Salary 1834 Bob Smith Sales 1970 24000.00 1051 Fred Sanders Sales 1965 36000.00 3211 Stan Humphries Field Service 1974 22000.00 6732 Fred Stanhope Field Service 1958 56000.00 4411 Sue Sommers Logistics 1965 40000.00 5522 Lance Finepoint Library 1970 24000.00 1997 Mark McGuire Field Service 1966 36000.00 9998 Sally Springer Sales 1973 22000.00 7/37

7773 Ludmilla Valencia Software 1969 36000.00 8883 Barbara Lint Field Service 1966 40000.00 8005 Jeffrey Vickers Mailroom 1965 42000.00 7779 Jim Walker Unit Manager 1971 24000.00 Từ khoá DISTINCT / ALL DISTINCT = chỉ lấy những dòng khác nhau Nghĩa là nếu có nhiều dòng giống nhau chỉ lấy một đại diện. ALL = tất cả các dòng, kể cả trùng nhau đây là mặc định, không cần gõ ALL. Cú pháp Select DISTINCT <danh sách tên cột>... Select ALL <danh sách tên cột>... Ví dụ SELECT DISTINCT Departement FROM EMPLOYEE Department Sales Field Service Logistics Library Software Mailroom Unit Manager 8/37

Biểu thức, điều kiện & toán tử. Biểu thức : Là một tập hợp các toán hạng và toán tử, trả lại một giá trị : số, lôgic, xâu Ví dụ Biểu thức số : (Salary * 1.05) Biểu thức lôgic : Name = ' Barbara Lint', Salary <= 50,000.00 Biểu thức xâu : Name + Phone. Các biểu thức được sử dụng trong câu lệnh QSL : - Trong điều khoản SELECT để kết xuất thông tin trực tiếp - Làm điều kiện tìm kiếm trong điều khoản WHERE, HAVING... Biểu thức điều kiện & Điều khoản Where. Điều kiện là một biểu thức lôgic. Một biểu thức điều kiện được dùng kèm với từ khoá Where để tạo thành điều khoản Where, ấn định tiêu chuẩn tìm kiếm thông tin xuất ra. Chỉ những dữ liệu thảo điều kiện đã nêu mới được đưa vào kết quả truy vấn. Ví dụ. Câu lệnh sau đây chỉ tìm và xuất ra các thông tin về cán bộ thuộc phòng bán hàng - Sales. SELECT Name, Departement, Salary FROM EMPLOYEE WHERE Departement = 'Sales' Name Department Salary Bob Smith Sales 24000.00 Fred Sanders Sales 36000.00 Sally Springer Sales 22000.00 9/37

Toán tử số học. Là các thành phần để xây dựng biểu thức. Các phép toán số học, phép so sánh, phép toán xâu kí tự. Toán tử số học : cộng, trừ, nhân, chia, modulo ( a % b hoặc Mod (a,b) ) Các biểu thức số học, biểu thức xâu có thể sử dụng trong điều khoản SELECT để kết xuất thông tin trực tiếp. Ví dụ 1: giả sử mọi người đều được phụ cấp thêm 5 phần trăm lương. Có thể hiển thị mức thực lĩnh như sau. SELECT Name, Salary * 1.05 FROM EMPLOYEE Ví dụ 2 : Giả sử có tệp csdl PRICE về giá hàng hoá gồm các trường Item - tên hàng, Wholesale - giá bán buôn. Nếu quy định giá bán lẻ là cộng thêm 0.15 thì có thể hiển thị bằng câu lênh sau SELECT Item, Wholesale, Wholesale + 0.15 FROM PRICE ALIAS - Tên hiệu. Trong các ví dụ trên tên cột sẽ được hiển thị là Salary * 1.05 hoặc Wholesale + 0.15 không được đẹp mắt và gợi tả nội dung cho lắm. Có thể đặt lại tên cột cho sát nội dung, gợi tả hơn : thay Salary *1.05 bằng Newamount - số thực lĩnh, thay wholesale + 0.15 bằng retail - giá bán lẻ. SELECT Name, Salary * 1.05 Newamount FROM EMPLOYEE SELECT Item, Wholesale, Wholesale + 0.15 Retail FROM PRICE Các tên cột mới Newamount, Retail gọi là Alias -Tên hiệu, tên thay thế. 10/37

Lưu ý : cú pháp sử dụng Alias là <biểu thức tên cột> <Alias> cách nhau khoảng trắng Một số hệ thống có thể quy định khác, ví dụ dùng cú pháp với dấu bằng <biểu thức tên cột> = <Alias> Toán tử so sánh Để xây dựng biểu thức lôgic. kí hiệu í nghĩa = Bằng!= Khác <> Khác < Nhỏ hơn > Lớn hơn <= Nhỏ hơn hay bằng >= Lớn hơn hay bằng Các ví dụ & điều khoản where. Điều kiện tìm kiếm được thể hiện trong diều khoản Where. Không chỉ có so sánh bằng nhau mà có thể dùng các phép so sánh bất kì hoặc biểu thức lôgic phức tạp. Ví dụ : - tìm những người lương lớn hơn 30000.00 SELECT Name, Salary FROM EMPLOYEE WHERE Salary > 30000.00 - tìm những người lương lớn hơn 30000.00 mà không ở phòng bán hàng SELECT Name, Salary, Departement FROM EMPLOYEE 11/37

WHERE (Salary > 30000.00) AND (Departement <> 'Sales' ) Toán tử xâu - LIKE : khi không biét thật chính xác một phần của xâu hoặc chỉ quan tâm đến một phần noà đó của xâu, có thể dùng Like với các kí tự đại diện %, _ Kí tự đại diện % thay cho một xâu con bất kì Kí tự dại diện _ thay cho một kí tự bất kì. Ví dụ : bảng mã vùng điện thoại AREACODE gồm có các trường : TênTỉnh, MãVùng, MãVùng TênTỉnh 034 HaTay 036 HaiDuong 04 HaNoi 08 TPHCM Có thể hiển thị tất cả các tỉnh bắt đầu bằng Ha SELECT * PROM AREACODE WHERE TenTinh LIKE 'Ha%' Phép nối Dùng để nối các xâu lại tạo thành biểu thức xâu lớn hơn. Ví dụ có bảng FRIENDS gồm các trường FirstName, LastName, TelNum... Có thể hiên thị tên đầy đủ bằng câu lệnh SELECT FirstName LastName FullName FROM FRIENDS 12/37

Toán tử lôgic AND, OR, NOT, Các phép toán lôgic có thể dùng để xây dựng các biểu thức điều kiện phức tạp hơn trong điều khoản Where. Ví dụ select * from employee where department = "field service" or department = "logistics" or department = "software" Các phép toán tập hợp. Hai bảng phải có cấu trúc giống nhau UNION : hợp hai kết quả select, có loại bỏ trùng nhau. UNION ALL : hợp hai kết quả select, không loại bỏ trùng nhau. INTERSECT : giao hai kết quả select MINUS : hiệu hai kết quả. các phép toán khác BETWEEN để xác định một đoạn con trong vùng giá trị có thể của một cột IN để xác định một danh sách các giá trị có thể SELECT column_name_1,...column_name_n FROM table_name_1,...table_name_n WHERE column_name IN (value_1,...value_n) Ví dụ 13/37

select * from employee where badge between 2000 and 7000 Các hàm thao tác dữ liệu. Các hàm xử lí tập thể - Aggregate functions. Các câu lệnh SQL thông thường két xuất dữ liệu lần lượt theo từng dòng của bảng. Các hàm tập đoàn - Aggegate function - Xử lí dữ liệu thuộc mọi dòng trong toàn bộ một cột ( hoặc một nhóm dòng thoả điều kiện nào đó) và cho ra chỉ một kết quả. Chúng dôi khi cũng đợc gọi là hàm nhóm - Group function. Count : đếm số dòng thoả mãn điều khoản Where. Ví dụ: đếm số nhân viên của phòng bán hàng select count (*) from employee where Department = 'Sales' Nếu không có điều khoản Where thì là đếm toàn bộ nhân viên. SUM : tính tổng một cột Cột phải là kiểu số Bị lỗi Nếu không phải kiểu số. Ví dụ select SUM (Salary) from employee. AVG : Tính trung bình cộng của cột Cột phải là kiểu số 14/37

Bị lỗi Nếu không phải kiểu số. Select AVG (Salary) from employee. MAX : cho giá trị cực đại trong cột. Có thể áp dụng cho cột kỉểu số và cả cột kiểu Char Select MAX(Salary) from employee. MIN : cho giá trị cực tiểu trong cột Có thể áp dụng cho cột kiểu số và cả cột kiểu Char. Select MIN(Name) from employee. VARIANCE : Cho bình phương của độ lêch tiêu chuẩn Chỉ áp dụng được cho cột kiểu số. Select VARIANCE(Salary) from employee. STDDEV : độ lệch tiêu chuẩn - Standard Deviation Chỉ áp dụng cho cột kiểu số. Ngày tháng và Thời gian. SYSDATE : Thời gian hệ thống. Dùng để so sánh : tìm các công việc chưa bắt đầu, đã kết thúc... ADD_MONTHS : 15/37

Dịch lùi lại, cộng thêm một số tháng từ một ngày cho trước Ví dụ : Giả sử có CSDL về quản lí dự án gồm các trường Công việc, Ngày bắt đầu, ngày kết thúc... PROJECT ( Task, StartDate, EndDate,...). Giả sử có sự cố làm dự án chậm mất hai tháng. Để hiển thị các công việc còn chưa két thúc được cần dùng hàm Add_month ( Enddate, 2). Select Task, StartDate, EnDDate Original_End, ADD_MONTHS (EndDate, 2) From PROJECT MONTH_BETWEEN : Đếm số tháng giữa hai mốc ngày. Ví dụ. Select Task, StartDate, EndDate, MONTHS_BETWEEN( StartDate, EndDate) Duration From PROJECT Các hàm số học. ABS : giá trị tuyệt đối CEIL : số trần - số nguyên nhỏ nhất lớn hơn hay bằng đối số FLOOR : số sàn - số nguyên lớn nhất bé hơn hay bằng đối số Cac hàm lượng giác COS, COSH, SIN, SINH, TAN, TANH đối số là Radian EXP LN LOG (x, b) : log b x. 16/37

POWER ( a, b) : a b MOD ( a,b) : a mod b SIGN : cho dấu = -1 nếu đối số là âm = 0 nếu đối số = 0 = 1 nếu đối số là dương. SQRT : căn bậc hai các hàm xử lí kí tự và xâu kí tự. CHR : chuyển đối số là một số nguyên thành kí tự có mã tương ứng Bảng mã có thể là ASCII CONCAT : nối hai xâu INITCAP : chuẩn hoá xâu, kí tự đầu là in hoa, các kí tự sau là chữ thường. LOWER, UPPER : chuyển đổi cả xâu (mọi kí tự) thành chữ in thường, in hoa LPAD, RPAD : độn thêm kí tự vào bên trái, bên phải của xâu cho đủ độ rộng. Lpad ( xâu, độ rộng, kí tự mẫu để điền thêm) Ví dụ Néu chỉ có hai đối là xâu và độ rộng, không cho kí tự mẫu thì mặc định là khoảng trống. LTRIM, RTRIM : Ltrim ( xâu, kí tự cần xoá bỏ). Nếu chỉ có một đối xâu, không cho kí tự mẫu thì mặc định là khoảng trống. REPLACE : thay thế một (các) xâu con bằng một xâu khác Replay (xâu, xâu con cần tìm, xâu thay thế) Tìm xâu con và thay thế mỗi khi gặp bằng xâu thay thế. 17/37

Nếu không có đối thứ 3 - không cho xâu thay thế, thì mặc định là rỗng. SUBSTR : Trích ra xâu con SubStr ( xâu, pos, num) Pos = vị trí bắt đầu Num = số kí tự trích ra = độ dài xâu con. Nếu pos là số âm thì tính từ cuối xâu mẹ. Lưu ý rằng độ rộng trường ấn định trước nên có thể tính lùi. TRANSLATE. Dịch từng kí tự thành kí tự mã hoá tương ứng Translate (xâu đích, xâu kí tự nguồn, xâu kí tự mã hoá) Ví dụ : để mã hoá chuyển mọi kí số thành N, kí tự chữ cái thành C Translate (Firstname, 0123456789ABCDE... NNNNNNNNCCCC... INSTR : tìm kiếm một kí tự mẫu, cho biết vị trí trong xâu Instr( xâu, mẫu tìm kiếm, vị trí bắt đầu, mẫu thứ mấy) Ví dụ instr (LastName, 'O', 2, 1) Bắt dầu từ vị trí thứ 2 trong LastName, tìm vị trí đầu tiên xuất hiện của kí tự O, LENGTH : cho độ dài xâu Các hàm chuyển đổi. TO_CHAR : chuyển thành xâu kí tự Chuyển một số nguyên thành xâu kí số biểu diễn số đó TO_NUMBER Chuyển xâu kí số thành giá trị số. 18/37

Các hàm khác GREATEST : cho hạng tử lớn nhất trong dãy các đối LEAST cho hạng tử nhỏ nhất trong dãy các đối USER : cho biết tên của người đang sử dụng DB. Các điều khoản Where Starting with Order by Group by Having. Điều khoản WHERE. Một biểu thức điều kiện được dùng kèm với từ khoá Where để tạo thành điều khoản Where, ấn định tiêu chuẩn tìm kiếm thông tin xuất ra. Chỉ những dữ liệu thoả điều kiện đã nêu mới được đưa vào kết quả truy vấn. Biểu thưc diều kiện trong điều khoản Where có thể dùng bất kì các phép so sánh số học, các phép toán lôgic nào. Điều khoản STARTING WITH. Giống như LIKE ( <biểu thức> %) Điều khoản ORDER BY Dùng để két xuất thông tin ra theo thứ tự của một cột được chọn làm khoá sắp xếp. Có thể sắp theo nhiều, trước hết sắp theo cột thứ nhất trong danh sách khoá, sau đó trong từng nhóm cùng cột thứ nhất lai sắp theo cột thứ 2... select * from employee 19/37

order by department, badge desc ASC : tăng dần, là lựa chon mặc định DESC : giảm dần Có thể thay tên cột bằng số thứ tự cột trong bảng. Điều khoản GROUP BY Khác với ORDER BY in ra mọi dòng theo nhóm không loại bỏ các giá trị trùng lặp, xử lí cả nhóm dòng cùng giá trị như một đơn vị. select department, count(*) headcount from employee group by department GROUP BY thường dùng với các hàm xử lí nhóm dữ liệu. Ví dụ select department, AVG(Salary) from employee group by department Điều khoản HAVING Where không làm việc với các hàm xử lí (tập đoàn) nhóm như AVG, SUM... Phaỉ dùng Having select department, SUM(Salary) from employee group by department having SUM (Salary) >... 20/37

Kết hợp các điều khoản. Có thẻ phối hợp nhiều điều khoản để thực hiện các truy vấn tin tuỳ ý thoả mãn yêu cầu của NSD. Ví dụ. Có bảng CHECKS ( Payee, Amount). Câu lệnh sau sẽ xuất ra từng người nhận séc với tổng số tiền và số lần nhận nhưng loại bỏ những người mà có tổng số tiền quá nhỏ (<= 50). Select Payee, SUM(Amount) Total, COUNT (Payee) Checks_written From checks Group by Payee Having SUM (Amount) > 50 Truy vấn nhiều bảng. Join : nối tự nhiên hai bảng select * from table_1, table_2 đây là phép nối tự nhiên, không có điều kiện gì (thiếu điều khoản Where). kết quả của nối tự nhiên là tích Đề các. Nếu bảng 1 có m dòng, bảng 2 có n dòng thì kết quả sẽ gồm m*n dòng Nối có điều kiện Việc chuẩn hoá loại bỏ dư thừa dữ liệu làm cho bảng nhỏ hơn và cơ sở dữ liệu gồm nhiều bảng hơn. Rất thông thường, các truy vấn SQL lien quan đến nhiều bảng. Điều khoản Where thể hiện mối liên hệ này. Ví dụ : Có CSDL gồm ba bảng CUSTOMER (Name, Address, Phone) 21/37

ODERS ( OrderOn, Name, PartNum,Quantity) PART (PartNum, Description, Price) select o.orderon, o.name, o.partnum, p.description, o.quantity * p.price total from order o, part p where o.partnum = p.partnum Có thể bổ xung thêm điều kiện vào điều khoản Where để thực hiện các truy vấn chi tiết hơn ví dụ where o.partnum = p.partnum and p.price >... Câu lệnh lồng nhau Câu lệnh con. SubQueries Là một truy vấn khác, đóng vai trò là một phần của điều khoản Where. Ví dụ. select * from employee where department = ( select department from employee where name = "bob smith") Điều kiện lôgic = ở trên đòi hỏi kết quả của câu lệnh con phải đơn trị, nghĩa là chỉ trả về một dòng. Nếu thay câu lệnh con như sau ( 22/37

select department from employee where name like "% smith") Thì có thể mắc lỗi khi có nhiều người tên là smith và ở các phòng chức năng khác nhau. Ví dụ2 : select o.orderon, o.name, o.partnum, p.description, o.quantity * p.price total from order o, part p where o.partnum = p.partnum and o.quantity * p.price > (select AVG(o.quantity * p.price) from order o, part p where o.partnum = p.partnum ) Các câu lệnh con lồng nhau. Các Subqueries có thể lồng nhau nhiều mức, tuỳ theo khả năng cụ thể của từng hệ thống SQL. Ví dụ 3 Select c.name, c.address, c.phone From customer c Where c.name IN (select o.name from order o, part p where o.partnum = p.partnum 23/37

and o.quantity * p.price > (select AVG(o.quantity * p.price) from order o, part p where o.partnum = p.partnum )) Lưu ý rằng ở đây điều kiện lôgic là IN nên câu lệnh con có thể trả về nhiều dòng. Sử dụng EXits, ANY, ALL EXIST : kiểm tra kết quả của câu lệnh con như là một tham đối. Nếu câu lệnh con có trả về một kết quả gì đó thì điều kiện được coi là TRUE, trái lại thì điều kiện là FALSE. Ví dụ. Select name, orderon From orders Where EXITS (select * from orders where name = 'xxxxx' ) Lưu ý EXIST không quan tâm đến số cột trả về trong câu lệnh con. ANY hoặc SOME : kiểm tra lần luợt từng dòng. Nếu giá trị cột có mặt trong kết quả trả về của câu lệnh con thì điều kiện được coi là TRUE. Như vậy câu lệnh con có thể trả về nhiều giá trị dù rằng điều kiện ở đây là =. Có thể thấy nó có tác dụng giống như IN Ví dụ. Select name, orderon From orders 24/37

Where name = ANY (select name from orders where name = 'xxxxx') Tuy nhiên, có trrường hợp không thể dùng IN, Trong ví dụ sau ANY được dùng với phép so sánh <, > trong khi IN có thể hiểu như nhiều dấu bằng. Select name, orderon From orders Where name > ANY (select name from orders where name = 'xxxxx') ALL : điều kiện chỉ được coi là đúng nếu mọi kết quả trả về của câu lệnh con đều thoả mãn. Select name, orderon From orders Where name <> ALL (select name from orders where name = 'xxxxx') Câu lệnh trên có kết quả là mọi người, trừ ông 'xxxxx'. 25/37

Cập nhật dữ liệu Thêm dòng mới - Câu lệnh INSERT. Nhập dữ liệu trực tiếp từ câu lệnh Câu lênh INSERT... VALUES. INSERT INTO TableName ( col_1, col_2,...) VALUES (val_1, val_2) Trong đó, danh sách cột cho biét các giá trị tương ứng được chèn vào cột nào, cột nào bị bỏ qua... Thành phần INTO có thể bỏ qua. Tuy nhiên nếu viết thì dễ đọc hơn. Ví dụ câu lệnh sau để thêm một khách hàng mới - một dòng mới vào bảng CUSTOMER (Name, Address, Phone) nhưng ta chưa biét địa chỉ. insert into customers (Name, Phone) values ("Caitlin Wynkoop", "520-555-1212") Các trường hợp : - Nếu không có danh sách cột thì được hiểu là mọi cột theo đúng thứ tự vốn có trong bảng. Các giá trị trong danh sách gía trị sẽ được thêm tuân tự cho cột thứ nhất, cột thứ 2,... insert into customers values ("Caitlin Wynkoop","123 West St.", "520-555-1212") - Có thể thay danh sách giá trị bằng DEFAULT. Lúc này sẽ thêm một dòng mới với các giá trị mặc định được định nghĩa khi tạo bảng. 26/37

Nhập dữ liệu từ bảng khác. Câu lệnh INSERT... SELECT INSERT INTO DestTableName ( col_1, col_2,...) SELECT c1, c2,... FROM SourceTableName WHERE Condition Một số Hệ quan trị CSDL cho phép tạo bảng tạm. Bảng tạm sẽ tự động bị xoá khi két nối kết thúc. Ta đã biét rằng các câu lệnh truy vấn thông tin thường phải nối nhiều bảng. Qúa trình này mất thì giờ. Nếu có nhiều câu truy vấn khác nhau cần nối nhiều bảng thì việc tạo bảng tạm thời một lần sẽ làm tăng tốc độ xử lí. Cập nhật dữ liệu - câu lệnh UPDATE UPDATE TableName SET col_1 = val_1, col_2 = val_2... WHERE Condition update employees set department = 'SALES', badge = 1232 where name = 'Bob Smith' Các giá trị vế phải có thể là biểu thức, nhưng phải đảm bảo phù hợp kiểu dữ liệu Nếu kích thước quá dài sẽ bị cắt đi. Có thẻ lỗi Overflow nếu giá trị vượt ra ngoài phạm vi hợp lệ. Nếu không có điều khoản Where thì nghĩa là Update mọi dòng của bảng. Xoá dữ liệu - câu lệnh DELETE. Có thể xoá một dòng, nhiều dòng, mọi dòng 27/37

Không thể xoá chỉ một vài cột ( phải Update) DELETE FROM TableName WHERE Condition Thành phần FROM là tuỳ chọn, có thể bỏ qua. Ví dụ. Xoá hết các dòng liên quan đến department 'SALES' delete from employees where department = 'SALES' Lưu ý : cũng giống như câu lệnh Update, nếu thiếu điều khoản Where thì mọi dòng bị xoá. Vậy hãy thận trọng. Nếu muốn xoá mọi dòng của bảng trong các xử lí nhưng bảng vẫn giữ nguyên thì có thể dùng câu lệnh TRUNCAT TRUNCATE TableName Câu lệnh DELETE TableName chỉ xoá nội dung mọi dòng, khung bảng vẫn còn. Muốn xoá hẳn bảng cần dùng lệnh DROP TableName. 28/37

Tạo lập và quản lí CSDL Tạo lập CSDL Những khái niệm chung Việc tạo lập CSDL thuộc nhiều vào hệ thống SQL. Cần tham khảo kĩ tài liệu hướng dẫn. Dưới đây là một số khái niệm chính cần biết về SQL Server. Devices Devices là tệp vật lí trên đĩa để lưu dữ liệu và tệp nhật kí. Nó phải được tạo lập trước khi tạo CSDL. Một database device là để chứa dữ liệu, dump device đểlưu nhật kí giao tác. Có thể tạo device bằng công cụ quản trị với giao diện đồ hoạ hoặc dòng lệnh, ví dụ DISK INIT. DISK INIT NAME = 'logical_name', PHYSNAME= 'physical_name', VDEVNO = virtual_device_number, SIZE = number_of_2k_blocks [, VSTART = virtual_address] Bảng các tham số của DISK INIT Tham số Logical name Physical name Y nghĩa Tên của SQL Server. Tên tệp và đường dẫn đầy đủ. 29/37

virtual device number Number of 2k blocks virtual address Sô ID duy nhất cho một device. Có thể nhận các giá trị từ 0 đến 255. Không được trùng với các ID đã có. Sô 0 dành cho master database. Xác định dung lượng đĩa. Tối thiểu là 512 (* 2k = 1M). Địa chỉ ảo. Tạo CSDL. câu lệnh CREATE DATABASE DB_Name. Cú pháp có thể khác nhau tuỳ từng hệ thống. Dưới đây là của Transact_SQL. CREATE DATABASE database_name [ON {DEFAULT database_device} [= size] [, database_device [= size]]...] [LOG ON log_device [= size] [,log_device[= size]]...] [FOR LOAD] Các tham số của câu lệnh CREATE DATABASE Tham số database_name database_device log_device FOR LOAD Y nghĩa Tên của CSDL. Tên decive. Nếu là DEFAULT thì SQL Server sẽ chọn device còn rỗi tiếp theo. Tên của device dùng ghi nhật kí. Chỉ khi thực hiện LOAD thì NSD mới thâm nhập được. Tạo lập bảng Câu lệnh - CREATE TABLE 30/37

CREATE TABLE TableName Field1 datatype [not NULL], Field2 datatype [not NULL], Field3 datatype [not NULL],... Các tên trường, tên bảng phải theo đúng quy định ví dụ - dài không quá 30 kí tự - không phân biệt chữ hoa, thường. - là chữ cái A - Z và một số kí tự khác : _, #, $, @ - không trùng với từ khoá, không trùng nhau trong phạm vi tác dụng : trong cùng một Schema, Owner thì tên bảng phải khác nhau, trong một bảng thì tên cột phải khac nhau. - Kiểu dữ liệu, tuỳ quy định của từng hệ thống. Giá trị NULL: Null nghĩa là không chứa giá trị nào, khác với khoảng trắng, số không. Lựa chọn NOT NULL bắt buộc phải cung cấp giá trị cho cột đó mỗi khi thêm một bản ghi mới. Một sô hệ CSDL cho phép ấn định lựa chọn UNIQUE - duy nhất- đối với một cột. Không thẻ có hai giá trị bằng nhau trong cột này. Đây là điều kiện để làm Khoá - Key. - Dưới đây là kiểu dữ liệu của Personal Oracle 7. CHAR xâu kí tự độ dài <= 255, nối thêm khoảng trắng vào cuối xâu. DATE Ngày tháng : thế kỉ, năm, tháng, ngày, giờ, phút, giây. LONG kiểu kí tự daì đến 2 GB. Thường gọi là kiểu Memo LONGRAW kiểu nhị phân binary, dài 2 GB. NUMBER số, dấu phẩy tĩnh hoặc động RAW kiểu nhị phân dài đến 255 byte 31/37

ROWID sô hệ 16 VARCHAR xâu kí tự độ daì thay đổi. Các kiểu dữ liệu của SQL server. Các kiểu số nguyên - Numeric integers - có độ rộng trường cố định. Cho phép tính toán trực tiếp. INT (integer): -(2**31) đến 2**31-2,147,483,648 đến 2,147,483,647. SMALLINT -32768 đến +32767. TINYINT 0 đến 255. Ví dụ create table number_example (int1 int,int2 smallint,int3 tinyint) INSERT into number_example values (400000000,32767,255) Các kiẻu số thực Floating-point. REAL 3.4E-38 to 3.4E+38. FLOAT[(n)]n =số byte, mặc định là 8 byte nếu không chỉ rõ n. 1.7E-308 to 1.7E+308. n thuộc 1.. 7, là real. Nếu n thuộc đoạn 8.. 15, thì giống như không chỉ rõ n. Ví dụ create table precision_example (num1 real,num2 float) INSERT into precision_example values (4000000.1234,4000000.1234) 32/37

select * from precision_example num1 num2 ------------------- -------------------- 4000000.0 4000000.1234 Các kiểu số thực decimal[(p[, s])] numeric[(p[, s])] p là tổng số chữ số. S là số chữ số sau dấu chấm. Phạm vi 10**38-1 đến -10**38 vói 2.. 17 byte. Mặc định p = 18;mặc định s = 0. Ví dụ create table definition_example (num1 decimal,num2 numeric(7,6)) INSERT into definition_example values (123456789123456789,1.123456) select * from definition_example num1 num2 --------------------------------- 123456789123456789 1.123456 Kiểu xâu kí tự - CHAR CHAR Rất hay dùng 33/37

Giá trị là xâu trong cặp dấu nháy đơn ' ' hoặc nháy kép " " Ví dụ CHAR(15), mỗi giá trị là 15 byte, có thể chứa 15 kí tự. Nếu ngắn hơn được nối thêm khoảng trắng cho đâỳ. VARCHARxâu độ dài thay đổi. varchar(15), nghĩa là độ dài tối đa là 15 kí tự. create table string_example (CHAR1 CHAR(5),CHAR2 varchar(5)) INSERT into string_example values ('AB','CD') select * from string_example CHAR1CHAR2 ---------- AB CD. datetime smalldatetime Rộng 8 byte. 4 byte cho ngày tháng, 4 byte cho thời gian. dạng số Y nghĩa tương đương 710624 June 24, 1971 19710624 June 24, 1971 1971 January 1, 1971 71 Không hợp lệ '' smalldatetime January 1, 1900 12:00 A.M. 34/37

từ 1/1/1900 đến 6/6/2079. Thêm cột, sửa đổi cột. Câu lệnh ALTER TABLE. Tác dụng sửa đôỉ cấu trúc của bảng. Thêm cột ALTER TABLE TableName ADD <column_name> <datatype> NULL, <column_name> <datatype> NULL... Sửa đổi cột ALTER TABLE TableName MODIFY <column_name> <datatype>, <column_name> <datatype>,... [ constraint] Một số hạn chế. - thường chỉ dùng để thay đỏi độ rộng cột. Có thể tăng hoặc giảm độ rộng cột. Tuy nhien chỉ giảm được nếu không có giá trị dữ liệu nào dài hơn. - có thể đổi từ NOT NULL sang NULL và ngược lại. Tuy nhiên, chỉ có thể đổi từ NULL sang NOT NULL nếu mọi dòng hiện có đều có giá trị (Not Null) tại cột này. Huỷ bảng và huỷ CSDL DROP TABLE TableName DROP BATABASE DatabaseName 35/37

Tham gia đóng góp Tài liệu: Bài giảng Sql Biên tập bởi: Vien CNTT DHQG Hanoi URL: http://voer.edu.vn/c/1bb6a607 Giấy phép: http://creativecommons.org/licenses/by/3.0/ Module: Sql server Các tác giả: Vien CNTT DHQG Hanoi URL: http://www.voer.edu.vn/m/d1e3a941 Giấy phép: http://creativecommons.org/licenses/by/3.0/ Module: Truy vấn thông tin Các tác giả: Vien CNTT DHQG Hanoi URL: http://www.voer.edu.vn/m/2c6737b9 Giấy phép: http://creativecommons.org/licenses/by/3.0/ Module: Cập nhật dữ liệu Các tác giả: Vien CNTT DHQG Hanoi URL: http://www.voer.edu.vn/m/1e71d832 Giấy phép: http://creativecommons.org/licenses/by/3.0/ Module: Tạo lập và quản lí CSDL Các tác giả: Vien CNTT DHQG Hanoi URL: http://www.voer.edu.vn/m/fd5dd60c Giấy phép: http://creativecommons.org/licenses/by/3.0/ 36/37

Chương trình Thư viện Học liệu Mở Việt Nam Chương trình Thư viện Học liệu Mở Việt Nam (Vietnam Open Educational Resources VOER) được hỗ trợ bởi Quỹ Việt Nam. Mục tiêu của chương trình là xây dựng kho Tài nguyên giáo dục Mở miễn phí của người Việt và cho người Việt, có nội dung phong phú. Các nội dung đểu tuân thủ Giấy phép Creative Commons Attribution (CC-by) 4.0 do đó các nội dung đều có thể được sử dụng, tái sử dụng và truy nhập miễn phí trước hết trong trong môi trường giảng dạy, học tập và nghiên cứu sau đó cho toàn xã hội. Với sự hỗ trợ của Quỹ Việt Nam, Thư viện Học liệu Mở Việt Nam (VOER) đã trở thành một cổng thông tin chính cho các sinh viên và giảng viên trong và ngoài Việt Nam. Mỗi ngày có hàng chục nghìn lượt truy cập VOER (www.voer.edu.vn) để nghiên cứu, học tập và tải tài liệu giảng dạy về. Với hàng chục nghìn module kiến thức từ hàng nghìn tác giả khác nhau đóng góp, Thư Viện Học liệu Mở Việt Nam là một kho tàng tài liệu khổng lồ, nội dung phong phú phục vụ cho tất cả các nhu cầu học tập, nghiên cứu của độc giả. Nguồn tài liệu mở phong phú có trên VOER có được là do sự chia sẻ tự nguyện của các tác giả trong và ngoài nước. Quá trình chia sẻ tài liệu trên VOER trở lên dễ dàng như đếm 1, 2, 3 nhờ vào sức mạnh của nền tảng Hanoi Spring. Hanoi Spring là một nền tảng công nghệ tiên tiến được thiết kế cho phép công chúng dễ dàng chia sẻ tài liệu giảng dạy, học tập cũng như chủ động phát triển chương trình giảng dạy dựa trên khái niệm về học liệu mở (OCW) và tài nguyên giáo dục mở (OER). Khái niệm chia sẻ tri thức có tính cách mạng đã được khởi xướng và phát triển tiên phong bởi Đại học MIT và Đại học Rice Hoa Kỳ trong vòng một thập kỷ qua. Kể từ đó, phong trào Tài nguyên Giáo dục Mở đã phát triển nhanh chóng, được UNESCO hỗ trợ và được chấp nhận như một chương trình chính thức ở nhiều nước trên thế giới. 37/37