1. Trang chủ
  2. » Cao đẳng - Đại học

sql information technology

245 9 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 245
Dung lượng 1,53 MB

Nội dung

Thành phần này có nhiệm vụ đáp ứng các lệnh truy vấn dữ liệu từ người dùng và đảm bảo tính nhất quán của cơ sở dữ liệu..  Disk Manager: đây là phần thực hiện việc quản lý dữ liệu ở.[r]

(1)

©NIIT Giới thiệu hệ quản trị sở liệu Bài / Slide of 26 Bài 1: Giới thiệu hệ quản trị sở liệu mơ hình

dữ liệu

 Định nghĩa hệ quản trị sở liệu (CSDL)  Người dùng hệ quản trị sở liệu  Mô tả cần thiết sở liệu

 Các thành phần CSDL

 Xác định cần thiết việc lên kế hoạch phát triển

CSDL

 Xác định giai đoạn phát triển sở liệu

 Xác định hậu việc phân tích thiết kế CSDL thực

hiện không tốt

(2)

Giới thiệu hệ quản trị sở liệu

Cơ sở liệu tập hợp ghi (record) thông tin Một

trong nhiệm vụ quan trọng hệ thống máy tính lưu trữ xử lý liệu

 Hệ quản trị sở liệu (Database Management System

DBMS) thiết kế để quản lý khối lượng liệu lớn Mục đích hệ quản trị CSDL là:

• Cung cấp mơi trường công cụ để lưu trữ truy xuất

dữ liệu từ sở liệu cách hiệu

Lưu giữ thơng tin người dùng hệ quản trị sở

(3)

©NIIT Giới thiệu hệ quản trị sở liệu Bài / Slide of 26 Các loại người dùng hệ quản trị CSDL

Có loại người dùng cho hệ quản trị sở liệu:

Người lập trình ứng dụng (Application Programmer):

người phát triển ứng dụng để người dùng cuối sử dụng để tương tác với sở liệu

Người dùng cuối (End User): Người dùng cuối

tương tác với sở liệu thơng qua chương trình ứng dụng

Người quản trị sở liệu (Database administrator DBA):

(4)

Lý dùng hệ quản trị CSDL để lưu trữ

Đầu tiên để lưu trữ liệu người ta dùng hệ thống tập tin

để lưu trữ Cách lưu trữ thể số nhược điểm sau:

Dữ liệu lưu trữ bị dư thừa: Cùng liệu lưu

nhiều nơi khơng cần thiết

Dữ liệu không quán: Do liệu lưu nhiều

(5)(6)

Lý dùng hệ quản trị CSDL lưu trữ (tiếp theo) Dùng hệ quản trị CSDL để lưu trữ có ưu điểm sau: Giảm thiểu dư thừa liệu

 Tránh không đồng liệu Dữ liệu chia sẻ

Dữ liệu bảo mật an tồn

(7)

©NIIT Giới thiệu hệ quản trị sở liệu Bài / Slide of 26

Các thành phần chức hệ quản trị CSDL

Hệ quản trị sở liệu có thành phần chức sau:

 Database manager: thành phần hệ quản trị

cơ sở liệu Thành phần có nhiệm vụ đáp ứng lệnh truy vấn liệu từ người dùng đảm bảo tính quán sở liệu

 File Manager: Thành phần chịu trách nhiệm phục vụ

tất yêu cầu liệu Nó liên hệ với disk manager để lấy khối liệu từ đĩa

 Disk Manager: phần thực việc quản lý liệu

(8)(9)

©NIIT Giới thiệu hệ quản trị sở liệu Bài / Slide of 26 Ngôn ngữ truy vấn liệu

Để tương tác với liệu lưu trữ bên sở

liệu người dùng dùng ngôn ngữ truy vấn liệu (Query language) Ngôn ngữ truy vấn liệu có dạng sau:

• Ngơn ngữ định nghĩa liệu ( Data Definition Language

DDL)

• Ngôn ngữ xử lý liệu (Data Manipulation Language

DML)

• Ngơn ngữ điều khiển liệu (Data Control Language

(10)

Lên kế hoạch phát triển sở liệu

 Lên kế hoạch phát triển cho hệ quản trị sở liệu

trình chiến lược để tìm xem thơng tin mà tổ chức cần thiết cho thời gian tới

Lợi ích việc lên kế hoạch phát triển database:

• Cho thấy rõ tình trạng thơng tin

lưu tổ chức

• Tìm điều chỉnh lại yêu cầu tài nguyên cho tổ

chức

• Giúp cho phát triển hệ quản trị CSDL đáp ứng

được yêu cầu tổ chức

• Giúp cho việc lên kế hoạch hành động để đạt

(11)

©NIIT Giới thiệu hệ quản trị sở liệu Bài / Slide 11 of 26 Quy trình phát triển sở liệu

Quy trình phát triển sở liệu bao gồm giai đoạn:

 Lên kế hoạch ban đầu: Trong giai đoạn này, công ty thu

thập thông tin ứng dụng dùng

 Nghiên cứu tính khả thi: Trong giai đoạn nghiên

cứu tính khả thi kỹ thuật, kinh tế cách vận hành CSDL

Định nghĩa yêu cầu CSDL: Giai đoạn xác định

(12)

Quy trình phát triển CSDL (tiếp theo)

Thiết kế mức luận lý: Trong giai đoạn thiết kế lược

đồ CSDL mức luận lý

Hiện thực: Trong giai đoạn ta chọ hệ quản trị CSDL

và chuyển thiết kế từ mức luận lý sang thực hệ quản trị CSDL vừa chọn

Đánh giá bảo trì sở liệu: sau thiết kế

(13)

©NIIT Giới thiệu hệ quản trị sở liệu Bài / Slide 13 of 26 Hậu việc phân tích, thiết kế thực

CSDL không tốt

Nếu ta phân tích, thiết kế thực CSDL khơng tốt,

sở liệu không hoạt động giống ta mong đợi Một số nguyên nhân thường dẫn đến CSDL hoạt động sai như:

Người dùng trực tiếp CSDL khơng xác định

đầy đủ phân tích thiết kế

Dữ liệu thu thập q

Cơ sở liệu khơng dễ dàng thay đổi để đáp ứng với

(14)

Mơ hình dữ liệu

 Mơ hình dữ liệu mơ tả cách tổ chức liệu bên

CSDL

 Mơ hình liệu cịn mơ tả mối quan hệ liệu ràng

buộc định nghĩa liệu

 Mơ hình liệu dùng rộng rãi mơ hình thực

(15)

©NIIT Giới thiệu hệ quản trị sở liệu Bài / Slide 15 of 26 Mơ hình thực thể mối liên kết

 Mơ hình thực thể mối liên kết dựa mô tả đối tượng

trong giới thực gọi thực thể mối liên kết chúng

Sơ đồ dùng để thực mơ hình thực thể mối liên kết gọi sơ

đồ thực thể mối liên kết ERD (Entity Relationship Diagram)

 Các thành phần sơ đồ ERD: Thực thể

(16)(17)

©NIIT Giới thiệu hệ quản trị sở liệu Bài / Slide 17 of 26 Thực thể (Entity)

Thực thể đối tượng, nơi chốn, người… mà cần

lưu giữ thông tin

Thực thể đặt tên vẽ hình chữ nhật

Thực thể có loại thực thể độc lập thực thể phụ

thuộc

Thực thể phụ thuộc gọi thực thể yếu thực

thể mà tồn phụ thuộc vào thực thể khác

Thực thể yếu mô tả hình chữ nhật có cạnh

(18)(19)(20)

Mối quan hệ

Mối quan hệ thể cộng tác thực thể

Mối quan hệ thể hình thoi có

tên quan hệ

Mối quan hệ tồn thực thể

cùng thực thể Giữa hai thực thể có nhiều mối quan hệ

Mối quan hệ có dạng • Quan hệ –

(21)(22)(23)(24)(25)(26)(27)

©NIIT Giới thiệu hệ quản trị sở liệu Bài / Slide 27 of 26 Thuộc tính

Thuộc tính thể đặt điểm thực thể

Thuộc tính thể hình elipse, với tên thuộc

tính vẽ bên hình Thuộc tính khóa gạch dưới

(28)(29)

©NIIT Giới thiệu hệ quản trị sở liệu Bài / Slide 29 of 26 Tóm tắt

Trong bạn học:

 Định nghĩa hệ quản trị sở liệu (CSDL)  Người dùng hệ quản trị sở liệu  Mô tả cần thiết sở liệu

 Các thành phần CSDL

 Xác định cần thiết việc lên kế hoạch phát triển

CSDL

 Xác định giai đoạn phát triển sở liệu

 Xác định hậu việc phân tích thiết kế CSDL

thực không tốt

(30)

Tóm tắt (tiếp theo)

(31)

©NIIT Thiết kế sở liệu Bài / Slide of 26

Bài 2: Thiết kế sở liệu

Giới thiệu hệ quản trị sở liệu quan hệ

Một số hệ quản trị sở liệu quan hệ phổ biến Thiết kế sở liệu quan hệ từ sơ đồ ERD

(32)

Giới thiệu hệ quản trị sở liệu quan hệ

Một phương pháp mơ hình hóa liệu được sử dụng thơng dụng mơ hình quan hệ

Trong mơ hình quan hệ liệu lưu trữ cấu trúc dạng bảng, bảng có nhiều dịng cột

(33)

©NIIT Thiết kế sở liệu Bài / Slide of 26

(34)

Cấu trúc mơ hình quan hệ

Một bảng gọi quan hệ (relation)

Một dòng gọi (tuple)

Một cột bảng gọi thuộc tính ( attribute) Số lượng cột bảng gọi bậc

(degree) của bảng

Một cột tập hợp số cột xác định

(35)

©NIIT Thiết kế sở liệu Bài / Slide of 26

Cấu trúc mơ hình quan hệ (tiếp theo)

Miền trị (domain) cột tập hợp giá

trị mà cột chứa

 Trong RDBMS, nếu cột không chứa

(36)(37)

©NIIT Thiết kế sở liệu Bài / Slide of 26

Cấu trúc mơ hình quan hệ (tiếp theo)

Mối quan hệ hai bảng thể

dữ liệu giống lưu trữ hai bảng

Nếu liệu lưu trữ cột giống với

dữ liệu cột khóa bảng khác cột gọi khóa ngoại (foreign key)

Cặp khóa – khóa ngoại hình thành nên

quan hệ cha bảng

 Hình vẽ sau mơ tả mối quan hệ khóa

(38)(39)(40)

Một số hệ quản trị sở liệu quan hệ  Oracle

 Microsoft SQL Server  DB2

(41)

©NIIT Thiết kế sở liệu Bài / Slide 11 of 26

Chuyển đổi sơ đồ ER sang bảng

Một sở liệu thiết kế sơ đồ ER

sẽ chuyển sang dạng bảng để thực

Sơ đồ ER bao gồm phần tử: Thực thể thường

(42)

Chuyển đổi sơ đồ ER sang bảng (tiếp theo) Một thực thể chuyển sang thành bảng  Các thuộc tính thực thể chuyển sang thành

(43)

©NIIT Thiết kế sở liệu Bài / Slide 13 of 26 Chuyển đổi sơ đồ ER sang bảng (tiếp theo)

Mối quan hệ sơ đồ ER chuyển sang

(44)

Chuyển đổi sơ đồ ER sang bảng (tiếp theo)

(45)

©NIIT Thiết kế sở liệu Bài / Slide 15 of 26 Chuyển đổi sơ đồ ER sang bảng (tiếp theo)

(46)

Chuyển đổi sơ đồ ER sang bảng (tiếp theo)

(47)

©NIIT Thiết kế sở liệu Bài / Slide 17 of 26 Chuyển đổi sơ đồ ER sang bảng (tiếp theo)

 Khóa cho bảng sinh quan hệ

(48)

Chuyển đổi sơ đồ ER sang bảng (tiếp theo)

(49)

©NIIT Thiết kế sở liệu Bài / Slide 19 of 26 Chuyển đổi sơ đồ ER sang bảng (tiếp theo)

(50)

Các điều cần ý thiết kế sở liệu

 Không đưa thêm thuộc tính khơng cần thiết  Nếu có thực thể có thuộc tính ta

(51)(52)

Các điều cần ý thiết kế sở liệu (tiếp theo)

(53)

©NIIT Thiết kế sở liệu Bài / Slide 23 of 26

Tóm tắt

Trong bạn học:

Mơ hình dữ liệu quan hệ

Hệ quản trị sở liệu quan hệ

Một số hệ quản trị sở liệu quan hệ Khái niệm khóa chính, khóa ngoại

(54)

Bài tập

Bài 1: Shopping Spree một cửa hàng bán hàng lưu niệm New York, cửa hàng có nhiều khách hàng đến để mua hàng Cửa hàng cần phải lưu thông tin khách hàng giao dịch mà khách hàng giao dịch với cửa hàng Hãy vẽ sơ đồ ER chuyển sang dạng bảng tương ứng

(55)

©NIIT Truy vấn sở liệu Bài / Slide of 25

Bài 3: Truy vấn sở liệu

Mục tiêu:

 Các đặt điểm mơ hình client – server  Xác định liệu vào câu truy vấn

 Lên kế hoạch tạo định dạng cho kết câu truy vấn  Dùng câu lệnh Select với tóan tử quan hệ

 Dùng câu lệnh Select với tóan tử luận lý

 Dùng câu lệnh Select với toán tử so sánh phần tử miền trị  Dùng câu lệnh Select với toán tử so sánh phần tử với danh sách  Dùng hàm nhóm

(56)

Đặt điểm mơ hình client – server

 Trong mơ hình Client – Server (Mơ hình khách – chủ) chức

năng ứng dụng chia làm trình: trình client trình server

 Quá trình client xử lý liệu nhập giao diện người dùng  Quá trình server thực tất tác vụ liên quan

(57)

©NIIT Truy vấn sở liệu Bài / Slide of 25

Ưu điểm mơ hình client – server

 Chia liệu: Dữ liệu lưu trữ tập trung máy

chủ dùng chung cho toàn người dùng hệ thống

Giảm thiểu dư thừa liệu thời gian bảo trì: Vì

(58)

Giới thiệu Microsoft SQL Server

 MS SQL Server Microsoft thực dựa mơ hình

client – server

 MS SQL Server cung cấp nhiều đặt điểm cần thiết để

quản lý liệu Các đặt điểm bậc là:

• Hỗ trợ chế truy xuất liệu từ web

• Dễ dàng mở rộng nâng cấp liệu cần lưu trữ lớn • Có độ tin cậy cao

(59)

©NIIT Truy vấn sở liệu Bài / Slide of 25

Giới thiệu SQL Server (tiếp theo)

 SQL Server cung cấp ngôn ngữ để truy xuất quản lý

liệu lưu trữ SQL Server Ngôn ngữ gọi Ngôn Ngữ truy vấn có cấu trúc (Structured Query Language - SQL)

 MS SQL Server cung cấp thêm chức mở rộng

của ngôn ngữ SQL gọi ngôn ngữ T-SQL (Transact SQL)

 Các kiểu liệu SQL Server: SQL Server lưu giữ

(60)

Truy vấn liệu hiển thị số cột bảng

 Ví dụ minh họa:

Các thông tin chi tiết tuyển dụng lưu trữ sở liệu RECRUITMENT SQL Server Các bảng chứa thông tin ứng viên, cấp, địa liên lạc, thơng tin vị trí công việc cần tuyển dụng, thông tin khác yêu cầu nhân viên tuyển dụng

Hãy tạo báo cáo bao gồm tên, thành phố, số điện thoại ứng viên bên ngịai cơng ty

(61)

©NIIT Truy vấn sở liệu Bài / Slide of 25 Các bước để truy vấn liệu

 Xác định cấu trúc kết câu lệnh truy vấn Viết câu truy vấn

Thực thi câu truy vấn

(62)

Các bước để truy vấn liệu (tiếp theo)

(63)

©NIIT Truy vấn sở liệu Bài / Slide of 25 Các bước để truy vấn liệu (tiếp theo)

Viết câu truy vấn: Câu lệnh SQL để truy vấn liệu có cú pháp sau:

SELECT [ALL | DISTINCT] select_column_list [INTO [new_table_name]]

[FROM {table_name | view_name}[(optimizer_hints)]

[[,{table_name2 | view_name2}[(optimizer_hints)] [WHERE clause]

(64)

Các bước để truy vấn liệu (tiếp theo) Viết câu truy vấn:

SELECT vFirstName, vLastName, cCity, cPhone FROM ExternalCandidate

Chạy câu lệnh truy vấn: demo SQL Server

(65)

©NIIT Truy vấn sở liệu Bài / Slide 11 of 25

Hiển thị tên cột thân thiện

 Ví dụ minh họa: Viết câu query hiển thị tên

nhà tuyển dụng mức phí để thuê nhà tuyển dụng làm việc

(66)

Hiển thị tên cột thân thiện

 Trong yêu cầu trên, kết câu truy vấn liệu có

hiển thị tên cột bảng dạng thân thiện với người dùng

 Có hai cách để hiển thị liệu dạng thân thiện: • Cách 1:

SELECT column_heading=column_name[,column name…] FROM table_name

• Method 2:

SELECT column_name column_heading [,column_name…]

(67)

©NIIT Truy vấn sở liệu Bài / Slide 13 of 25

Hiển thị tên cột thân thiện

Viết câu truy vấn yêu cầu theo hai cách học:

• Cách 1:

SELECT 'Recruiter Name' = cName, 'Hire Charge' = siPercentageCharge FROM ContractRecruiter

• Method 2:

SELECT cName 'Recruiter Name', siPercentageCharge 'Hire Charge' FROM ContractRecruiter

(68)

Hiển thị số dòng bảng

 Viết câu truy vấn hiển thị danh sách trường Đại Học Cao Đẳng bang California

(69)

©NIIT Truy vấn sở liệu Bài / Slide 15 of 25

Hiển thị số dòng bảng

 Để giới hạn dòng trả SQL Server sử dụng câu lệnh Select … From … Where Câu lệnh có cấu trúc sau:

SELECT column_list FROM table_name

WHERE search_condition

 Trong đó có dịng thỏa mãn điều kiện search_condition trả

 Câu truy vấn viết:

(70)

Các toán tử dùng mệnh đề Where

 Trong SQL Server, điều kiện tìm kiếm mệnh đề WHERE dùng tốn tử sau:

• Tốn tử quan hệ: >, <, >=, <= … • Tốn tử luận lý: and, or, not

• Tốn tử so sánh miền trị: between … and

(71)

©NIIT Truy vấn sở liệu Bài / Slide 17 of 25

Hiển thị dòng thỏa mãn nhiều điều kiện

 Viết câu truy vấn hiển thị danh sách ứng viên có điểm thi nằm khỏang 80 -100

(72)

©NIIT Truy vấn sở liệu Bài / Slide 18 of 25

Hiển thị dòng thỏa mãn nhiều điều kiện

 Cú pháp câu lệnh truy vấn có dùng tóan luận lý:

SELECT column_list FROM table_name

WHERE conditional_expression{AND/OR} [NOT] conditional_expression

 Câu truy vấn theo yêu cầu viết sau: SELECT vFirstName, vLastName, siTestScore FROM ExternalCandidate

(73)

©NIIT Truy vấn sở liệu Bài / Slide 19 of 25

Toán tử quan hệ

 Toán tử quan hệ dùng mệnh đề Where theo cú pháp sau:

SELECT column_list FROM table_name

WHERE expression1 comparison_operator expression2

 Ví dụ hiển thị mã nhân viên có thu nhập hàng năm lớn 40.000

select cEmployeeCode

from AnnualSalary

(74)

©NIIT Truy vấn sở liệu Bài / Slide 20 of 25 Toán tử so sánh miền trị

 Tốn tử so sánh miền trị có hai tốn tử: BETWEEN NOT BETWEEN

 Toán tử so sánh miền trị dùng mệnh đề Where theo cú pháp sau:

SELECT column_list FROM table_name

WHERE expression1 range_operator expression2 AND expression3

 Ví dụ hiển thị mã nhân viên có thu nhập hàng năm khỏang 30.000 đến 40.000

select cEmployeeCode from AnnualSalary

(75)

©NIIT Truy vấn sở liệu Bài / Slide 21 of 25 Toán tử so sánh phần tử với danh sách

 Toán tử so sánh phần tử với danh sách có hai tốn tử: IN NOT IN

 Toán tử so sánh phần tử với danh sách có cú pháp sau: SELECT column_list FROM table_name

WHERE expression list_operator (‘value_list‘)

 Ví dụ: Hãy hiển thị thơng tin trường Đại học thuộc bang New York Texas:

select * from college

(76)

©NIIT Truy vấn sở liệu Bài / Slide 22 of 25 Sử dụng hàm nhóm SQL

 Yêu cầu: Viết câu truy vấn cho biết số lượng báo quảng cáo tuyển dụng cho công ty

 SQL hỗ trợ hàm tương tác với tập hợp giá trị trả cột Các hàm gọi hàm nhóm

 Có số hàm nhóm sau: AVG, SUM, COUNT, MAX, MIN

 Câu truy vấn dùng hàm count:

(77)

©NIIT Truy vấn sở liệu Bài / Slide 23 of 25 Chia kết trả thành nhóm

 Yêu cầu: Viết câu truy vấn cho biết số lần quảng cáo tờ báo?

 SQL hỗ trợ chia kết làm nhiều nhóm nhỏ mệnh đề group by

 Mệnh đề group by sử dụng sau:

SELECT 'Newspaper Code' = cNewspaperCode, 'No Of Advts Placed' = COUNT(cNewspaperCode) FROM NewsAd

(78)

Tóm tắt

Trong bạn học:

 Các đặt điểm mơ hình client – server  Xác định liệu vào câu truy vấn

 Lên kế hoạch tạo định dạng cho kết câu truy vấn  Dùng câu lệnh Select với tóan tử quan hệ

 Dùng câu lệnh Select với tóan tử luận lý

 Dùng câu lệnh Select với toán tử so sánh phần tử miền trị  Dùng câu lệnh Select với toán tử so sánh phần tử với danh sách  Dùng hàm nhóm

(79)

©NIIT Truy vấn sở liệu Bài / Slide 25 of 25

Bài tập

1 Kết nối vào database GlobalToyz

2 Hiển thị thông tin chi tiết tất đồ chơi bảng toys Hiển thị thông tin chi tiết tất người mua hàng

4 Hiển thị tên, họ, e-mail ID tất người mua hàng Hiển thị tên giá tất đồ chơi

6 Hiển thị tên, địa chỉ, mã vùng tất người nhận đồ chơi

7 Hiển thị họ tên người mua hàng sống California Hiển thị chi tiết hóa đơn có giá trị lớn 75$

(80)

Bài 4: Hàm kiểu kết nối câu truy vấn

Mục tiêu:

 Cách dùng hàm xử lý chuỗi câu truy vấn  Cách dùng hàm xử lý thời gian câu truy vấn  Cách dùng hàm xử lý toán học câu truy vấn  Sử dụng kiểu kết nối inner join

 Sử dụng kiểu kết nối outter join  Sử dụng kiểu kết nối self join  Sử dụng câu truy vấn

(81)

©NIIT Hàm truy vấn liệu Bài / Slide of 25

Hiển thị kết câu truy vấn chữ hoa

 Trong SQL, ta muốn kết câu truy vấn chuyển sang toàn chữ hoa ta dùng hàm upper

 Cách dùng hàm câu lệnh select có cú pháp sau: SELECT function_name (parameters)

 Ví dụ demo:

Viết câu truy vấn hiển thị tên tờ báo, tên người liên lạc số điện thoại liên lạc để công ty liên hệ quảng cáo Tên tờ báo phải hiển thị chữ hoa

(82)

Một số hàm xử lý chuỗi

ASCII STR REVERSE

NCHAR DIFFERENCE UNICODE

SOUNDEX QUOTENAME LOWER

CHAR STUFF RIGHT

PATINDEX LEFT UPPER

SPACE REPLICATE LTRIM

CHARINDEX SUBSTRING RTRIM

(83)

©NIIT Hàm truy vấn liệu Bài / Slide of 25 Hàm xử lý ngày (Datetime function)

 Hàm xử lý ngày tháng dùng để xử lý giá trị thời gian, thực số phép tóan cộng trừ thời gian có hàm để lấy phần thông tin thời gian như: ngày, tháng, năm

 Cách dùng hàm datetime câu lệnh select có cú pháp sau: SELECT datetime_function (parameters)

 Ví dụ demo:

Ngày hết hạn dự kiến tuyển dụng 10 ngày từ bắt đầu trình tuyển dụng Viết câu truy vấn liệu hiển thị mã trường, ngày bắt đầu tuyển dụng, ngày hết hạn cho tất trường mà công ty định tuyển sinh viên

SELECT cCollegeCode, dRecruitmentStartDate, 'Proposed Deadline' = DATEADD(dd, 10, dRecruitmentStartDate)

(84)

Một số hàm xử lý datetime

Tên hàm Tham số

DATEADD (datepart, number, date)

DATEDIFF (datepart, date1, date2)

DATENAME (datepart, date)

DATEPART (datepart, date)

(85)

©NIIT Hàm truy vấn liệu Bài / Slide of 25

Hàm toán học

 Hàm tốn học dùng để thực phép tính giá trị trả câu truy vấn

 Cách dùng hàm toán học câu lệnh select có cú pháp sau:

SELECT function_name (parameters)  Ví dụ demo:

Viết câu truy vấn hiển thị tên, số điện thoại điểm vấn ứng viên có tên Helen Điểm phải làm trịn

SELECT vFirstName, cPhone,'Score'= ROUND(79.9,0) FROM ExternalCandidate

(86)

Một số hàm toán học

Tên hàm Tham số

ABS (numeric_expression)

ACOS, ASIN, ATAN

(float_expression)

COS, SIN, COT, TAN

(float_expression)

ROUND (numeric_expression,

length)

(87)

©NIIT Hàm truy vấn liệu Bài / Slide of 25

Kết nối (Join)

 Toán tử JOIN dùng câu truy vấn lấy dữ liệu từ nhiều bảng thời điểm

 Cú pháp cho toán tử JOIN sau:

SELECT column_name, column_name [,column_name]

FROM table_name [CROSS|INNER|[LEFT | RIGHT]OUTER] JOIN table_name

[ON table_name.ref_column_name join_operator table_name.ref_column_name]

(88)

Join (Tiếp theo)

 Có nhiều kiểu kết nối khác nhau:

(89)

©NIIT Hàm truy vấn liệu Bài / Slide 10 of 25

Hiển thị liệu từ hai bảng dùng inner join

 Inner join dùng để hiển thị liệu từ hai hay nhiều bảng cách so sách giá trị cột giống nhau, dịng có giá trị hai cột hiển thị

 Ví dụ minh họa:

Viết câu truy vấn hiển thị tên ứng viên tên văn phòng tuyển dụng ứng viên này?

SELECT 'Candidate Name'=vFirstName,'Recruitment Agency' = cName FROM ExternalCandidate JOIN RecruitmentAgencies

ON

(90)

Kết nối liệu dùng outter join

 Outter join hiển thị tất dòng bảng, riêng bảng lại hiển thị dòng so trùng với bảng

 Ví dụ minh họa:

Viết câu truy vấn hiển thị tên ứng viên bên ngòai tên văn phòng tuyển dụng cho ứng viên có

SELECT vFirstName, vLastName, cName FROM ExternalCandidate

LEFT OUTER JOIN RecruitmentAgencies ON

(91)

©NIIT Hàm truy vấn liệu Bài / Slide 12 of 25

Kết nối liệu bảng (Self Join)

 Self Join kiểu kết nối mà hàng bảng kết nối với hàng khác bảng

 Ví dụ minh họa:

SELECT t1.title,t2.title , t1.price

(92)

Câu truy vấn (Sub query)

 Câu truy vấn dùng lệnh SQL SELECT, UPDATE, INSERT DELETE gọi câu truy vấn

 Câu truy vấn dùng để truy xuất liệu từ nhiều bảng nên dùng để thay tốn tử Join

 Câu truy vấn cịn sử dụng mệnh đề WHETE HAVING

(93)

©NIIT Hàm truy vấn liệu Bài / Slide 14 of 25

Ví dụ minh họa câu truy vấn

 Hãy viết câu truy vấn hiển thị tên nhà tuyển dụng sống thành phố với ứng viên từ bên ngồi có tên: Barbara Johnson

SELECT cName

FROM ContractRecruiter WHERE cCity =

(SELECT cCity FROM ExternalCandidate

(94)

Câu truy vấn với mệnh đề IN

 Nếu câu truy vấn trả giá trị người ta phải dùng mệnh đề IN thay cho toán tử so sánh (=)

 Ví dụ minh họa: Viết câu truy vấn trả mã tác giã có sách bán được? SELECT Au_Id

FROM TitleAuthor

(95)

©NIIT Hàm truy vấn liệu Bài / Slide 16 of 25

Câu truy vấn với mệnh đề EXISTS

 Câu truy vấn dùng với mệnh đề EXISTS để kiểm tra tồn liệu hay không? Mệnh đề EXISTS trả giá trị TRUE FALSE

 Ví dụ minh họa: Viết câu truy vấn trả tên nhà xuất có xuất sách thuộc thể loại business

SELECT Pub_Name FROM Publishers

(96)

Câu truy vấn dùng với hàm nhóm

 Câu truy vấn dùng với hàm nhóm

 Ví dụ minh họa: Hiển thị tên sách có tiền đặt trước lớn số tiền đặt trước trung bình thể loại ‘Business’

SELECT Title FROM Titles

WHERE Advance > (SELECT AVG(Advance) FROM Titles

(97)

©NIIT Hàm truy vấn liệu Bài / Slide 18 of 25

Lưu kết câu truy vấn vào bảng

 Kết câu truy vấn lưu vào bảng mệnh đề SELECT … INTO

 Ví dụ minh họa: Hãy viết câu truy vấn lưu thông tin ứng viên bên tháng năm 2006 vào bảng tạm có tên

TempExternalCandidate

SELECT * INTO tempExternalCandidate FROM ExternalCandidate

(98)

Tóm tắt

Trong bạn học:

 Cách dùng hàm xử lý chuỗi câu truy vấn  Cách dùng hàm xử lý thời gian câu truy vấn  Cách dùng hàm xử lý toán học câu truy vấn  Sử dụng kiểu kết nối inner join

 Sử dụng kiểu kết nối outter join  Sử dụng kiểu kết nối self join  Sử dụng câu truy vấn

 Sử dụng câu truy vấn với mệnh đề IN  Sử dụng câu truy vấn với mệnh đề EXITS  Sử dụng câu truy vấn với hàm nhóm

(99)

©NIIT Hàm truy vấn liệu Bài / Slide 20 of 25

Bài tập

Bài 1: Viết câu truy vấn hiển thị tên, mô tả đánh giá cho tất đồ chơi trẻ em, nhiên hiển thị 40 ký tự phần mô tả

Bài 2: Viết câu truy vấn hiển thị thông tin trình trạng giao hàng theo mẩu sau:

(100)

Bài tập

Bài 4: Viết câu truy vấn hiển thị tên tất loại đồ chơi tên thể loại mà thuộc

(101)

©NIIT Tạo bảng ràng buộc liệu Bài / Slide of 25 Bài 5: Tạo bảng ràng buộc toàn vẹn liệu

Mục tiêu

 Tạo bảng

 Thêm liệu vào bảng  Xóa bảng

 Các kiểu ràng buộc toàn vẹn liệu  Các ràng buộc:

(102)

Tạo bảng SQL

 Trong SQL Server, bảng đối tượng sở liệu dùng để lưu trữ liệu

 Dữ liệu bảng tổ chức thành dòng cột

 Mỗi dòng bảng thể liệu cột thể thuộc tính liệu

 Một bảng MS SQL có tối đa 1024 cột

(103)

©NIIT Tạo bảng ràng buộc liệu Bài / Slide of 25

Tạo bảng SQL (Tiếp theo)

 Để tạo bảng SQL Server ta dùng câu lệnh CREATE TABLE Lệnh có cú pháp sau:

CREATE TABLE Tên_bảng (

Tên_cột kiểu_dữ_liệu [NULL | NOT NULL] [IDENTITY (SEED, INCREMENT)],

Tên_cột kiểu_dữ_liệu … )[

(104)

Tạo bảng SQL (Tiếp theo)

 Ví dụ:

CREATE TABLE Sales (

ItemCode char(4) NOT NULL, ItemName char(10) NULL, QtySold int NOT NULL,

(105)

©NIIT Tạo bảng ràng buộc liệu Bài / Slide of 25

Tạo bảng SQL (Tiếp theo)

(106)

Tạo bảng SQL (Tiếp theo)

 Câu lệnh:

CREATE TABLE NewsPaper (

(107)

©NIIT Tạo bảng ràng buộc liệu Bài / Slide of 25

Kiểm tra thông tin bảng vừa tạo

 Trong MS SQL Server, bạn kiểm tra thơng tin bảng vừa tạo câu lệnh:

sp_Help tên_bảng

(108)

Thêm dữ liệu vào bảng

 Sau tạo bảng, liệu thêm vào bảng câu lệnh INSERT

 Cú pháp câu lệnh INSERT sau: INSERT [INTO] tên_bảng [column_list] VALUES (values_list)

 Câu lệnh thêm liệu vào:  INSERT Newspaper

VALUES('0001' ,'Texas Times', 'Texas', 'General', 'Jackson

(109)

©NIIT Tạo bảng ràng buộc liệu Bài / Slide of 25

Xóa bảng khỏi sở liệu

 Xóa bảng khỏi sở liệu dùng câu lệnh DROP TABLE Cú pháp câu lệnh sau:

DROP TABLE Table_name

 Ví dụ: Xóa bảng Newspaper vừa tạo ra: DROP TABLE newspaper

(110)

Ràng buộc toàn vẹn liệu

 Ràng buộc tồn vẹn đảm bảo tính qn đắn liệu lưu trữ bên sở liệu Ràng buộc toàn vẹn phân thành loại:

• Ràng buộc thực thể • Ràng buộc miền trị

• Ràng buộc tham chiếu

(111)

©NIIT Tạo bảng ràng buộc liệu Bài / Slide 11 of 25

Ràng buộc toàn vẹn liệu (Tiếp theo)

 Ràng buộc thực thể:

Là ràng buộc đảm bảo dòng xác định nhiều thuộc tính gọi khóa Ràng buộc thực thể thực ràng buộc PRIMARY KEY

 Ràng buộc miền trị:

(112)

Ràng buộc toàn vẹn liệu (Tiếp theo)

 Ràng buộc tham chiếu:

Là ràng buộc đảm bảo giá trị khóa ngoại lưu trữ phải khóa bảng khác Ràng buộc thực ràng buộc PRIMARY KEY FOREIGN KEY

 Ràng buộc người dùng định nghĩa:

(113)

©NIIT Tạo bảng ràng buộc liệu Bài / Slide 13 of 25

Tạo ràng buộc

 Ràng buộc dùng để đảm bảo tính tồn vẹn liệu  Ràng buộc định nghĩa luật mà liệu phải tuân theo

nhằm đảo bảo tính quán đắn liệu lưu trữ

 Ràng buộc tạo bảng tạo thêm vào sau bảng tạo

 Ràng buộc tầm vực • Tầm vực cột

(114)

Tạo ràng buộc (Tiếp theo)

 Cú pháp câu lệnh tạo ràng buộc sau: CREATE TABLE tên_bảng

tên_cột CONSTRAINT tên_ràng buộc loại_ràng_buộc [,CONSTRAINT tên_ràng_buộc loại_ràng_buộc]

 Cú pháp câu lệnh thêm vào ràng buộc vào bảng có sau:

ALTER TABLE tên_bảng

(115)

©NIIT Tạo bảng ràng buộc liệu Bài / Slide 15 of 25

Tạo ràng buộc (Tiếp theo)

 Ví dụ:

ALTER TABLE Sales WITH NOCHECK

ADD CONSTRAINT chkQtySold CHECK (QtySold >0)

 Xóa ràng buộc dùng câu lệnh có cú pháp sau: ALTER TABLE tên_bảng

(116)

©NIIT Tạo bảng ràng buộc liệu Bài / Slide 16 of 25

Tạo ràng buộc Primary Key

 Ràng buộc PRIMARY KEY định nghĩa hay nhiều cột mà giá trị xác định dòng bảng  Cú pháp ràng buộc sau:

[CONSTRAINT tên_ràng_buộc PRIMARY KEY [CLUSTERED|NONCLUSTERED]

(tên_cột [, tên_cột [, tên_cột [, …]]])]  Ví dụ:

CREATE TABLE Employee

(117)

©NIIT Tạo bảng ràng buộc liệu Bài / Slide 17 of 25

Tạo ràng buộc UNIQUE

 Ràng buộc UNIQUE dùng để đảm bảo tính cột hay nhiều cột cho thuộc tính khơng phải khóa  Có thể có nhiều ràng buộc UNIQUE định nghĩa

bảng

 Ràng buộc UNIQUE có cú pháp sau:

[CONSTRAINT tên_ràng_buộc UNIQUE [CLUSTERED | NONCLUSTERED]

(tên_cột [, tên_cột[, tên_cột[, …]]])  Ví dụ:

ALTER TABLE Employee

(118)

Tạo ràng buộc FOREIGN KEY

 Ràng buộc FOREIGN KEY dùng để đảm bảo tính quán hai bảng liệu bảng phụ thuộc vào liệu bảng

 Cú pháp:

[CONSTRAINT tên_ràng_buộc FOREIGN KEY (tên_cột [, tên_cột [, …]])

REFERENCES tên_bảng (column_name [, tên_cột [, …]])]  Ví dụ:

ALTER TABLE Employee

ADD CONSTRAINT fkDepartmentCode FOREIGN KEY (cDepartmentCode) REFERENCES

(119)

©NIIT Tạo bảng ràng buộc liệu Bài / Slide 19 of 25

Tạo ràng buộc CHECK

 Ràng buộc CHECK dùng để đảm bảo giá trị cột thuộc miền trị cho trước

 Cú pháp:

[CONSTRAINT tên_ràng_buộc] CHECK (expression)  Ví dụ:

CREATE TABLE ContractRecruiter (…

cCity char(15) CONSTRAINT chkCity CHECK (cCity IN ('Berkeley', 'Boston', 'Chicago', 'Dallas', 'München', 'New Jersey', 'NewYork', 'Paris', 'Washington'))

(120)

Tạo ràng buộc DEFAULT

 Ràng buộc DEFAULT dùng để gán giá trị mặt định cho cột giá trị cột khơng xác định

 Trên cột, có tối đa ràng buộc DEFAULT  Cú pháp:

[CONSTRAINT tên_ràng_buộc] DEFAULT (constant_expression | NULL)

 Ví dụ:

ALTER TABLE Employee

(121)

©NIIT Tạo bảng ràng buộc liệu Bài / Slide 21 of 25

dụ tạo ràng buộc

 Hãy viết câu lệnh SQL tạo bảng Newspaper với số yêu cầu sau:

• Thuộc tính cNewspaperCode phải khóa

• Thuộc tính cPhone có giá trị: ([0-9][0-9][0-9])[0-9][0-9][0-9]-[0-9][0-9][0-9][0-9]

• Thuộc tính cCountryCode có giá trị mặc định ‘001’

 Trong bảng NewAd sửa lại thuộc tính bảng sau:

• Thuộc tính cNewsAdNo khóa

(122)

Ví dụ tạo ràng buộc: CREATE TABLE Newspaper (

cNewspaperCode typNewspaperCode CONSTRAINT pkNewspaperCode PRIMARY KEY,

cNewspaperName char(20) NOT NULL, vRegion varchar(20), vTypeOfNewspaper varchar(20), vContactPerson varchar(35), vHOAddress varchar(35), cCity char(20), cState char(20), cZip char(10),

cCountryCode char(3) CONSTRAINT defCountryCode DEFAULT('001'),

cFax char(15),

cPhone char(15) CONSTRAINT chkPhone CHECK(cPhone LIKE('([0-9][0- LIKE('([0-9][0-9])[0-LIKE('([0-9][0-LIKE('([0-9][0-9]-[0-LIKE('([0-9][0-LIKE('([0-9][0-LIKE('([0-9][0-9]'))

(123)

©NIIT Tạo bảng ràng buộc liệu Bài / Slide 23 of 25

dụ tạo ràng buộc

ALTER TABLE NewsAd

ADD CONSTRAINT pkNewsAdNo PRIMARY KEY (cNewsAdNo)

ALTER TABLE NewsAd

ADD CONSTRAINT fkNewspaperCode FOREIGN KEY (cNewspaperCode)REFERENCES

(124)

Tóm tắt

Trong bạn học  Tạo bảng

 Thêm liệu vào bảng  Xóa bảng

 Các kiểu ràng buộc toàn vẹn liệu  Các ràng buộc:

(125)

©NIIT Tạo bảng ràng buộc liệu Bài / Slide 25 of 25

Tóm tắt (Tiếp theo)

Trong bạn học

 Tạo ràng buộc PRIMARY KEY  Tạo ràng buộc FOREIGN KEY  Tạo ràng buộc UNIQUE

(126)

Bài tập

(127)

©NIIT Tạo bảng ràng buộc liệu Bài / Slide 27 of 25

Bài tập

Bài 2: Tạo lại bảng colleges theo yêu cầu sau: • cCollegeCode phải khóa

• Phone number phải có dạng ([0-9][0-9][0-9])[0-9][0-9][0-9]-[0-9][0-9][0-9][0-9]

• cCity phải có giá trị mặt định New Orleans'

Bài 3: Tạo bảng CampusRecruitment (cCampusRecruitmentCode char(4), cCollegeCode char(4), dRecruitmentStartDate

datetime, dRecruitmentEndDate datetime) thỏa mãn điều kiện:

• cCampusRecruitmentCode khóa

(128)

Ngơn ngữ lập trình- Các Khái niệm, Giải thuật & Lưu đồ

Nội dung

 Khái niệm chương trình ngơn ngữ lập trình

 Chức trình biên dịch, liên kết trình thơng dịch  Cách chọn Ngơn ngữ lập trình

 Giải thuật Lưu đồ

(129)

©NIIT

Ngơn ngữ lập trình- Các Khái niệm, Giải thuật & Lưu đồ

Thế giới lập trình Bài / Slide of 23

Chương trình

 Máy tính thiết kế để nhận liệu (Input), xử lý (Process) đưa kết (Output) Q trình cịn gọi I-P-O

 Tập hợp lệnh để thực cơng việc gọi chương trình (program)

 Nhiều chương trình kết hợp với thành ứng dụng (application)

Input Output

(130)

Ngơn ngữ lập trình- Các Khái niệm, Giải thuật & Lưu đồ

Ngôn ngữ lập trình

 Ngơn ngữ lập trình phương tiện truyền thơng Lập trình viên máy tính

(131)

©NIIT

Ngơn ngữ lập trình- Các Khái niệm, Giải thuật & Lưu đồ

Thế giới lập trình Bài / Slide of 23

Ngơn ngữ lập trình (tiếp theo)

 Ngơn ngữ lập trình chia làm loại: Ngơn ngữ máy:

• Từ vựng tạo nên từ mã nhị phân 0-1 để tạo câu lệnh, dẫn nhằm yêu cầu

máy tính thực cơng việc

• Các lệnh máy tính thực trực tiếp (khơng qua mã trung gian)

• Ngồi ngơn ngữ máy, NNLT khác cần dịch mã trung gian trước thực thi

2 Ngơn ngữ Assembly:

• Cịn gọi ngơn ngữ máy tính hệ thứ ngơn ngữ sử dụng bảng mã chữ ký

hiệu để đưa dẩn

3 Ngơn ngữ cấp cao:

• Đây ngơn ngữ thân thiện với người sử dụng dùng từ ngữ thông dụng tiếng Anh

(132)

Ngôn ngữ lập trình- Các Khái niệm, Giải thuật & Lưu đồ

Trình biên dịch

(133)

©NIIT

Ngơn ngữ lập trình- Các Khái niệm, Giải thuật & Lưu đồ

Thế giới lập trình Bài / Slide of 23

Trình biên dịch (tiếp theo)

(134)

Ngơn ngữ lập trình- Các Khái niệm, Giải thuật & Lưu đồ

Trình biên dịch (tiếp theo)

 Khi trình biên dịch dịch chương trình, kiểm tra Từ vựng Cú pháp câu lệnh

 Nếu trình biên dịch tìm thấy lỗi chương trình nguồn hiển thị danh sách lỗi

(135)

©NIIT

Ngơn ngữ lập trình- Các Khái niệm, Giải thuật & Lưu đồ

Thế giới lập trình Bài / Slide of 23

Bộ liên kết

 Mỗi NNLT có thư viện chứa từ khóa với chức định nghĩa trước Người lập trình sử dụng từ khóa kết hợp với cú pháp để viết chương trình

 Khi dịch, trình biên dịch sinh mã trung gian

 Để sinh mã thực thi từ mã trung gian chức từ khóa (lưu thư viện) thư viện cần đưa vào mã trung gian

(136)

Ngơn ngữ lập trình- Các Khái niệm, Giải thuật & Lưu đồ

Bộ liên kết (tiếp theo)

(137)

©NIIT

Ngơn ngữ lập trình- Các Khái niệm, Giải thuật & Lưu đồ

Thế giới lập trình Bài / Slide 10 of 23

Trình thơng dịch

 Một số ngơn ngữ lập trình cấp cao sử dụng chế dịch khác gọi thơng dịch Chương trình dịch theo chế gọi trình thơng dịch

 Trình thơng dịch đọc lệnh viết ngơn ngữ lập trình cấp cao, chuyển sang mã máy, thực thi câu lệnh không lưu mã trung gian

 Chương trình thực thi dùng trình thơng dịch tiết kiệm thời gian trình biên dịch

 Trình thơng dịch giúp cho việc dị tìm lỗi dễ dàng xác dịng phát sinh lỗi

(138)

Ngơn ngữ lập trình- Các Khái niệm, Giải thuật & Lưu đồ

dụ ngơn ngữ lập trình cấp cao

 Một số ngơn ngữ lập trình cao cấp là: • BASIC

• Pascal • C

ã Java ã C#

(139)

âNIIT

Ngơn ngữ lập trình- Các Khái niệm, Giải thuật & Lưu đồ

Thế giới lập trình Bài / Slide 12 of 23

Lựa chọn ngơn ngữ lập trình

 Một số yếu tố lựa chọn ngơn ngữ lập trình:

• Tiêu chí 1: lựa chọn tùy thuộc vào loại ứng dụng cần phát triển Ví dụ:

- Tạo chương trình thực phép toán đơn giản (+ - * /) ta sử dụng Pascal

- Để phát triển ứng dụng dùng gia đình doanh nghiệp nhỏ dùng Visual BASIC

• Tiêu chí 2: Nếu có nhiều ngơn ngữ phù hợp để phát triển ứng dụng bạn nên chọn ngơn ngữ mà bạn thông thạo

(140)

Ngơn ngữ lập trình- Các Khái niệm, Giải thuật & Lưu đồ

Giải thuật Lưu đồ

 Giải thuật trình tự thực cơng việc  Lưu đồ biểu diễn đồ hoạ giải thuật

(141)

©NIIT

Ngơn ngữ lập trình- Các Khái niệm, Giải thuật & Lưu đồ

Thế giới lập trình Bài / Slide 14 of 23

Giải thuật Lưu đồ (tt)

 Các ký hiệu sử dụng lưu đồ: • Nhập – Input

• Xử lý – Process

• Quyết định – Decision • Thủ tục – Procedure

(142)

Ngôn ngữ lập trình- Các Khái niệm, Giải thuật & Lưu đồ

Giải thuật Lưu đồ (tt)

 Các ký hiệu sử dụng lưu đồ (tt): • Bắt đầu Kết thúc – Start and Stop

• Kết nối trang – On page connector • Kết nối trang khác – Off page connector

(143)

©NIIT

Ngơn ngữ lập trình- Các Khái niệm, Giải thuật & Lưu đồ

Thế giới lập trình Bài / Slide 16 of 23

Giải thuật Lưu đồ (tiếp theo)

(144)

Ngơn ngữ lập trình- Các Khái niệm, Giải thuật & Lưu đồ

Giải thuật Lưu đồ (tiếp theo)

(145)

©NIIT

Ngơn ngữ lập trình- Các Khái niệm, Giải thuật & Lưu đồ

(146)

Ngơn ngữ lập trình- Các Khái niệm, Giải thuật & Lưu đồ

Các qui tắc vẽ lưu đồ

 American National Standards Institute (ANSI) đề nghị số qui luật cần phải tuân theo vẽ lưu đồ sau:

• Toàn lưu đồ nên biểu diễn ký hiệu chuẩn • Lưu đồ nên rõ ràng, xác dễ theo dõi

• Lưu đồ nên có điểm bắt đầu điểm kết thúc

(147)

©NIIT

Ngơn ngữ lập trình- Các Khái niệm, Giải thuật & Lưu đồ

Thế giới lập trình Bài / Slide 20 of 23

Các qui tắc vẽ lưu đồ (tiếp theo)

• Ký hiệu bắt đầu kết thúc nên có đường kết nối • Ký hiệu nhập liệu, xử lý, xuất liệu, hiển thị nên có hai đường

kết nối để nối ký hiệu đứng trước đứng sau chúng

• Ký hiệu định nên có đường kết nối với ký hiệu trước có hai đường kết nối đến hai ký hiệu đứng sau

(148)

Ngơn ngữ lập trình- Các Khái niệm, Giải thuật & Lưu đồ

Điểm mạnh lưu đồ

 Lưu đồ phương pháp tốt để truyền đạt lập luận giải thuật  Lưu đồ giúp phân tích vấn đề cách hiệu

 Lưu đồ đóng vai trò người hướng dẫn giai đoạn phát triển chương trình

 Dễ tìm sửa lỗi lưu đồ

(149)

©NIIT

Ngơn ngữ lập trình- Các Khái niệm, Giải thuật & Lưu đồ

Thế giới lập trình Bài / Slide 22 of 23

Điểm yếu lưu đồ

 Lưu đồ dài trãi nhiều trang, làm giảm tính dễ đọc

 Việc vẽ lưu đồ công cụ đồ hoạ việc làm tốn nhiều thời gian  Thay đổi bước dẫn đến việc vẽ lại toàn lưu đồ  Lưu đồ biểu diễn giải thuật phức tạp chứa nhiều đường kết

(150)

Ngơn ngữ lập trình- Các Khái niệm, Giải thuật & Lưu đồ

Tóm tắt

 Tập hợp lệnh để thực công việc gọi chương trình

(program)

 Một số chương trình kết hợp với thành ứng dụng (application)

 Ngôn ngữ lập trình phương tiện giao tiếp người lập trình máy tính

 Trình biên dịch chương trình dịch chương trình nguồn viết ngơn ngữ cấp

cao sang ngôn ngữ máy

 Bộ liên kết thực việc kết nối chức từ khóa thư viện

được dùng vào mã trung gian

 Trình thơng dịch chương trình dịch câu lệnh chương trình nguồn

sang mã máy, thực thi câu lệnh không lưu mã trung gian

(151)

©NIIT

Ngơn ngữ lập trình- Các Khái niệm, Giải thuật & Lưu đồ

Thế giới lập trình Bài / Slide 24 of 23

Bài tập đề nghị:

1 Bài

Vẽ lưu đồ nhập vào họ tên tuổi sinh viên, số tuổi nhập vào âm hay khơng thơng báo “Tuổi khơng thể <= 0”,

Nếu tuổi dương hiển thị tên tuổi Sinh viên 2 Bài

(152)

Ngơn ngữ lập trình- Các Khái niệm, Giải thuật & Lưu đồ

Địa nhận nội dung giảng tập:

http://www.niit-vn.com

Góp ý trao đổi:

(153)

©NIIT

Ngơn ngữ lập trình - Mã giả, Biến Tốn tử

Thế giới lập trình Bài / Slide of 23

Nội dung

 Khái niệm mã giả - pseudocode  Biến vai trị biến

 Mơ tả kiểu liệu khác

(154)

Ngôn ngữ lập trình - Mã giả, Biến Tốn tử

Khái niệm Mã giả (pseudocode)

 Mã giả cách sử dụng từ ngữ tiếng Anh đơn

giản để mơ tả thuật tốn

 Mã giả dùng để thay lưu đồ

 Các câu lệnh Mã giả sử dụng từ tiếng Anh đơn

giản thể trình tự cơng việc thực

 Những từ khóa Mã giả:

 begin…end  accept

(155)

©NIIT

Ngơn ngữ lập trình - Mã giả, Biến Tốn tử

Thế giới lập trình Bài / Slide of 23

Giới thiệu biến

 Bộ nhớ máy tính dùng để lưu liệu người sử dụng cung cấp, lệnh chương trình xử lý liệu sinh kết tương ứng

 Bộ nhớ bao gồm nhiều vị trí khác nhau, vị trí chứa liệu lưu trữ tương ứng

(156)

Ngôn ngữ lập trình - Mã giả, Biến Tốn tử Giới thiệu biến ( )

 Dữ liệu lưu nhớ mà không thay đổi lúc

chương trình thực gọi trị (literal)

 Hằng trị phân thành hai loại chính:

• Ký số, ví dụ 20, 15 89.25

(157)

©NIIT

Ngơn ngữ lập trình - Mã giả, Biến Toán tử

Thế giới lập trình Bài / Slide of 23

Giới thiệu biến (tiếp theo)

(158)

Ngơn ngữ lập trình - Mã giả, Biến Toán tử

Kiểu liệu

 Số bytes nhớ dùng để lưu trữ biến tùy thuộc vào kiểu liệu chứa biến Kiểu liệu chứa biến được gọi kiểu liệu

 Có hai kiểu liệu là:

• Kiểu số (Numeric): Biến thuộc kiểu Numeric chứa giá trị số

(159)

©NIIT

Ngơn ngữ lập trình - Mã giả, Biến Tốn tử

Thế giới lập trình Bài / Slide of 23

Khai báo biến

 Biến phải khai báo trước sử dụng

 Khi khai báo biến, trình biên dịch thực

hành động sau:

• Cấp phát vị trí nhớ cho biến • Gán tên cho biến

(160)

Ngơn ngữ lập trình - Mã giả, Biến Toán tử Khai báo biến ( tiếp theo)

 Khi khai báo biến bạn phải đặt tên cho biến, sau

là một số gợi ý thông thường mà bạn nên tuân thủ

khi đặt tên biến:

• Ký tự tên biến nên mô tả kiểu liệu biến, kiểu numeric ký tự n, kiểu Character ký tự c Ví dụ nAge, cName

(161)

©NIIT

Ngơn ngữ lập trình - Mã giả, Biến Toán tử

Thế giới lập trình Bài / Slide of 23

Khai báo biến ( )

• Tên biến khơng nên có ký tự đặc biệt ! @ # $ % ^ & * ( ) { } [ ] , : ; “ ‘ / \ Nếu tên biến có khoảng trắng, bạn dùng dấu gạch để nối hai từ lại với ví dụ nBasic_Salary

(162)

Ngơn ngữ lập trình - Mã giả, Biến Toán tử Gán giá trị vào biến

 Tất biến phải gán cho giá trị trước

khi sử dụng

 Bạn phải đảm bảo biến phải gán giá trị

phù hợp với kiểu liệu khai báo

 Có hai phương thức gán giá trị cho biến gán trực

(163)

©NIIT

Ngơn ngữ lập trình - Mã giả, Biến Tốn tử

Thế giới lập trình Bài / Slide 11 of 23

Gán giá trị cho biến

 Gán trực tiếp:

• Giá trị gán trực tiếp vào biến dấu =, lệnh gán trực tiếp có cú pháp sau: variable_name=value

• Ví dụ: nAge=18, cName=“Nguyen Van Nam”

 Câu lệnh Accept:

• Giá trị biến gán câu lệnh accept, câu lệnh accept có cú pháp sau: accept variable_name

(164)

Ngơn ngữ lập trình - Mã giả, Biến Tốn tử

Ví dụ: Vẽ lưu đồ viết mã giả

nhập vào hai số từ người dùng, sau hiển thị tổng hai số

Begin

Numeric nNumber1, nNumber2, nSum

Accept nNumber1 Accept nNumber2

nSum=nNumber1 + nNumber2 Display nSum

(165)

©NIIT

Ngơn ngữ lập trình - Mã giả, Biến Toán tử

Thế giới lập trình Bài / Slide 13 of 23

Toán tử

 Toán tử thể loại phép toán bạn muốn thực

trên phần tử biểu thức

 Trong một biểu thức, phần tử mà toán tử tác động

lên được gọi toán hạng

 Toán tử chia làm ba thể loại:

• Tốn tử tốn học • Tốn tử logic

(166)

Ngơn ngữ lập trình - Mã giả, Biến Toán tử Toán tử toán học

 Toán tử toán học dùng để thực phép tốn,

có tốn tử tốn học sau:

• Tốn tử cộng (+): + = • Tốn tử trừ (-): 10 – = • Tốn tử nhân (*): * = • Toán tử chia (/): 10 / =

(167)

©NIIT

Ngơn ngữ lập trình - Mã giả, Biến Toán tử

Thế giới lập trình Bài / Slide 15 of 23

Toán tử quan hệ

 Toán tử quan hệ dùng để so sánh hai toán hạng, kết

quả trả toán tử quan hệ Đúng hay Sai

(TRUE hay FALSE) Các toán tử quan hệ bao gồm:

(168)

Ngơn ngữ lập trình - Mã giả, Biến Toán tử Toán tử luận lý

 Toán tử luận lý dùng để nối kết hai toán tử

quan hệ biểu thức

 Toán tử luận lý bao gồm:

(169)

©NIIT

Ngơn ngữ lập trình - Mã giả, Biến Tốn tử

Thế giới lập trình Bài / Slide 17 of 23

Toán tử luận lý (tiếp theo)

Bảng chân trị cho toán tử AND OR

Biểu thức Biểu thức Giá trị biểu thức kết hợp

AND OR

True True True True

True False False True

False True False True

(170)

Ngơn ngữ lập trình - Mã giả, Biến Toán tử Độ ưu tiên toán tử

 Mỗi tốn tử có độ ưu tiên định Độ ưu tiên

này sẽ định thứ tự thực thi toán tử

trong một biểu thức biểu thức có nhiều

một tốn tử

 Tốn tử có độ ưu tiên cao ưu tiên thực

(171)

©NIIT

Ngơn ngữ lập trình - Mã giả, Biến Toán tử

Thế giới lập trình Bài / Slide 19 of 23

Độ ưu tiên toán tử ( )

 Các tốn tử có độ ưu tiên thực

hiện từ trái sang phải

 Độ ưu tiên tốn tử thay đổi ta

dùng dấu () Biểu thức dấu () ưu tiên

(172)

Ngôn ngữ lập trình - Mã giả, Biến Tốn tử

Độ ưu tiên toán tử (tiếp theo)

Tốn tử Mơ tả Độ ưu tiên

() Dấu ngoặc

! Toán tử phủ định * Toán tử nhân

3 / Toán tử chia

% Toán tử chia lấy dư

(173)

©NIIT

Ngơn ngữ lập trình - Mã giả, Biến Tốn tử

Thế giới lập trình Bài / Slide 21 of 23

Độ ưu tiên toán tử (tiếp theo)

Tốn tử Mơ tả Độ ưu tiên

< Toán tử bé

5 <= Toán tử bé

> Toán tử lớn

>= Toán tử lớn = Toán tử

6 != Tốn tử khơng

AND Tốn tử AND

(174)

Ngơn ngữ lập trình - Mã giả, Biến Tốn tử dụ:

Vẽ lưu đồ giải thuật viết mã giả để kiểm tra

sinh viên bất kỳ có đủ điều kiện tham gia khóa học

vi sinh hay không?

Dữ liệu nhập vào giải thuật tên sinh viên, điểm

môn sinh học, điểm môn vật lý điểm mơn hóa học

Điều kiện để tham gia khóa học vi sinh điểm

trung bình phải lớn 75 điểm mơn sinh học

(175)

©NIIT

Ngơn ngữ lập trình - Mã giả, Biến Tốn tử

(176)

Ngơn ngữ lập trình - Mã giả, Biến Toán tử

Mã giả

Begin

Character cName

Numeric nBioMarks, nPhyMarks, nChemMarks, nAverage Display “Enter student Name”

Accept cName

Display “Enter marks of biology, physics and chemictry” Accept nBioMarks, nPhyMarks, nChemMarks

nAverage=(nBioMarks+nPhyMarks+nChemMarks)/3 if nAverage > 75 and nBioMarks>75 then

Display “Eligible for bio-informatics course” else

(177)

©NIIT

Ngơn ngữ lập trình - Mã giả, Biến Toán tử

Thế giới lập trình Bài / Slide 25 of 23

Tóm tắt

 Biến tên vị trí nhớ nhớ máy tính

 Quá trình khai báo biến xác định kiểu liệu

tên của biến

 Biến phải gán giá trị trước sử dụng

 Toán tử xác định loại phép tính mà bạn muốn thực

(178)

Ngơn ngữ lập trình - Mã giả, Biến Tốn tử

Tóm tắt ( )

 Có ba loại tốn tử: tốn tử toán học, toán tử quan hệ toán tử luận lý

 Toán tử toán học dùng để thực phép toán

 Toán tử quan hệ dùng để so sách hai toán hạng, kết trả TRUE hay FALSE

(179)

©NIIT

Ngơn ngữ lập trình - Mã giả, Biến Tốn tử

Thế giới lập trình Bài / Slide 27 of 23

Tóm tắt (tiếp theo)

 Tốn tử có độ ưu tiên thực

từ trái sang phải

(180)

Ngôn ngữ lập trình - Mã giả, Biến Tốn tử Bài tập đề nghị

Bài 1: Vẽ lưu đồ viết mã giả chương trình nhập vào

3 số cho biết số lớn số

Bài 2: Vẽ lưu đồ viết mã giả chương trình nhập vào

điểm trung bình học viên cho biết học

viên đó đạt loại gì?

Bài 3: Vẽ lưu đồ viết mã giả chương trình tính điểm

trung bình mơn học Dữ liệu nhập vào

(181)

©NIIT

Cấu trúc Quyết định

Thế giới lập trình Bài / Slide of 16

Nội dung

 Giới thiệu cấu trúc định  Cấu trúc if

(182)

Cấu trúc Quyết định

 Cấu trúc định cho phép chọn lựa thực lệnh dựa vào việc đánh giá điều kiện

 Cấu trúc định dùng giải thuật là: • Cấu trúc if

(183)

©NIIT

Cấu trúc Quyết định

Thế giới lập trình Bài / Slide of 16

Cấu trúc if

 Theo sau cấu trúc if biểu thức điều kiện, liệu so sánh

 Dựa vào kết việc so sánh, định thực  Có nhiều kiểu cấu trúc if, ba kiểu là:

(184)

Cấu trúc Quyết định Cấu trúc if đơn giản

 Nếu điều kiện định cấu trúc if đơn giản lệnh khối if thực

 Cú pháp:

if (điều kiện) begin

(185)

©NIIT

Cấu trúc Quyết định

Thế giới lập trình Bài / Slide of 16

 Ví dụ tốn nhập số lớn 10 in câu thơng báo thích hợp:

begin

numeric nNum1

display “Enter any number” accept nNum1

if (nNum1 > 10) begin

display nNum1

display “The number is greater than 10” end

(186)

Cấu trúc Quyết định Cấu trúc if else

 Nếu điều kiện định cấu trúc if…else lệnh khối if thực Nếu điều kiện sai lệnh khối else thực

 Cú pháp:

if (điều kiện) begin

các lệnh thực điều kiện end

else begin

(187)

©NIIT

Cấu trúc Quyết định

Thế giới lập trình Bài / Slide of 16

Ví dụ: chương trình nhập hai số, tính tổng hai số cho biết tổng chẵn hay lẻ

begin

numeric nNum1, nNum2, nResult

display “Enter number1 and number2” accept nNum1

accept nNum2

nResult = nNum1 + nNum2 //adds the values and stores the result

//in nResult

if (nResult % = 0) begin

display nResult

display “The sum is even” end

else begin

display nResult

display “The sum is odd” end

(188)

Cấu trúc Quyết định

Cấu trúc if lồng

 Bạn dùng cấu trúc if bên cấu trúc if khác Cấu trúc gọi cấu trúc if lồng

 Cú pháp:

if (điều kiện) begin

if (điều kiện) begin

các lệnh thực điều kiện end

else begin

(189)

©NIIT

Cấu trúc Quyết định

Thế giới lập trình Bài / Slide of 16

Ví dụ:

 xét giải thuật nhập điểm hai mơn học sinh viên tính điểm phần trăm Giải thuật hiển thị điểm phần trăm với nhận xét “Pass”, “Fail” “Distinction”

 Tiêu chuẩn để đưa nhận xét sau:

• Distinction điểm phần trăm lớn 75 • Pass điểm phần trăm lớn 50

(190)

Cấu trúc Quyết định begin

numeric nSub1, nSub2, nPercent

display “Enter the marks scored in two subjects” accept nSub1, nSub2

nPercent = ((nSub1 + nSub2)/200)*100 if (nPercent > 50)

begin //if the condition is true, the following //statements are executed

if (nPercent > 75) begin

display nPercent display “Distinction” end

else //if the value of nPercent is less than 75,

//the following statements are executed begin

display nPercent display “Good” end

end

else //if the value of nPercent is less than 50, the //following statements are executed

begin

(191)

©NIIT

Cấu trúc Quyết định

Thế giới lập trình Bài / Slide 11 of 16

Cấu trúc switch…case

 Cấu trúc switch…case cho phép bạn thực định cách chọn trường hợp nhiều trường hợp đưa

 Cú pháp:

switch (biểu thức)

begin

case 1:

nhóm lệnh

break

case 2:

nhóm lệnh

break

case 3:

nhóm lệnh

break default:

nhóm lệnh default

(192)

Cấu trúc Quyết định

Ví dụ:

(193)

©NIIT

Cấu trúc Quyết định

(194)

Cấu trúc Quyết định

begin

numeric nCall

display “If you want to get connected to Marketing department, press 1, Finance department press 2, Customer Care department press 3, HR department press If you are not sure press any number other than to 4, the call will be transferred to

Information department” accept nCall

switch (nCall) begin

Case 1: //case begins

Transfer call to the Marketing department break

Case 2: //case begins

Transfer call to the Finance department break

Case 3: //case begins

Transfer call to the Customer Care department break

Case 4: //case begins

Transfer call to the HR department break

default: //if none of the cases match, the following line is executed Transfer call to the Information department

(195)

©NIIT

Cấu trúc Quyết định

Thế giới lập trình Bài / Slide 15 of 16

Tóm tắt

Trong học học:

 Cấu trúc định cho phép chọn lựa thực lệnh dựa vào việc đánh giá điều kiện

 Cấu trúc định dùng giải thuật là: • Cấu trúc if

• Cấu trúc switch…case

 Có nhiều kiểu cấu trúc if, ba kiểu là: • Cấu trúc if đơn giản

• Cấu trúc if…else • Cấu trúc if lồng

(196)

Cấu trúc Quyết định

Bài tập

 Bài 1: Viết chương trình nhập tên giới tính người sau hiển thị câu chào hỏi phù hợp Nếu nam chào anh, nữ chào chị

 Bài 2: Viết chương trình nhập điểm thi cho sinh viên in nhận xét Nếu điểm “Hỏng”, điểm lớn nhỏ “Đậu”, điểm lớn hay “Giỏi”

(197)

©NIIT

Cấu Trúc Lặp

Thế giới lập trình Bài / Slide of 16

Nội dung

 Giới thiệu cấu trúc lặp  Vòng lặp while

 Vòng lặp repeat … until  Vòng lặp for

(198)

Cấu Trúc Lặp Cấu trúc lặp

 Cấu trúc lặp cấu trúc cho phép thực thi đoạn mã chương trình nhiều lần

 Quá trình lặp đoạn mã điều khiển điều kiện gọi điều kiện lặp Trong điều kiện lặp cịn vịng lặp lặp lại Khi điều kiện lặp sai vịng lặp kết thúc lệnh phía sau vịng lặp thực thi

(199)

©NIIT

Cấu Trúc Lặp

(200)

Cấu Trúc Lặp Cấu trúc lặp

 Có vịng lặp • Vịng lặp while

• Vịng lặp repeat – until • Vịng lặp for

Ngày đăng: 20/04/2021, 04:16

w