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

Phần 1 đại số quan hệ

154 2,2K 9

Đ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 154
Dung lượng 4,16 MB

Nội dung

Giới thiệuĐại số quan hệ – Là tập hợp các phép toán cơ sở của mô hình dữ liệu quan hệ– Biểu thức đại số quan hệ là sự kết hợp của các toán hạng và toán tử– Kết quả của một biểu thức đại

Trang 1

Phần 1

Đại số quan hệ

TS Nguyễn Đình ThuânKhoa Hệ thống thông tinTrường ĐH Công nghệ Thông tin

Trang 2

Giới thiệu

Đại số quan hệ

– Là tập hợp các phép toán cơ sở của mô hình dữ liệu

quan hệ– Biểu thức đại số quan hệ là sự kết hợp của các toán

hạng và toán tử– Kết quả của một biểu thức đại số quan hệ là một thể

hiện của quan hệ

Ý nghĩa :

– Là cơ sở hình thức cho các phép toán của mô hình QH– Là cơ sở để cài đặt và tối ưu hóa các truy vấn trong các

hệ QT CSDL

Trang 3

• Hàm tính toán và gom nhóm: avg(), min(), max(), sum(), count().

Khái niệm khả hợp: Hai lược đồ quan hệ R1 và R2 là khả hợp

nếu cùng bậc n và DOM(Ai)=DOM(Bi) (1in)

Trang 5

Phép hợp

Ví dụ :

r ( A B C) s ( A B C) r s = ( A B C) _ a1 b1 c1 a1 b1 c1 a1 b1 c1 a2 b1 c2 a2 b2 c2 a2 b1 c2 a2 b2 c1 a2 b2 c2 a2 b2 c1

Trang 8

Kí hiệu: r x s

Công thức :

r x s = { t: t có dạng (a1, a2, , an, b1, b2, ,bm) trong đó (a1,

,an ) r và (b1, ,bm) s }

Trang 9

Phép tích Descartes

Ví dụ :

r (A B C) s (D E) r × s = p (A B C D E) a1 b1 1 1 e1 a1 b1 1 1 e1

a2 b2 2 2 e2 a1 b1 1 2 e2

a3 b3 3 a2 b2 2 1 e1

a2 b2 2 2 e2 a3 b3 3 1 e1 a3 b3 3 2 e2

Trang 10

Phép chiếu (Projection)

 Phép chiếu trên một quan hệ thực chất là loại bỏ

đi một số thuộc tính và giữ lại những thuộc tính còn lại của quan hệ đó

 Công thức : π < ds_thuộc tính>(< tên quan hệ >)

<ds_thuộc tính>:dsách các thuộc tính được lấy

 Kết quả của phép chiếu là tập các thuộc tính

trong danh sách với cùng thứ tự.

 Nếu <ds_thuộc tính> chỉ có những thuộc tính

không khoá thì phép chiếu sẽ bỏ đi những bộ

lặp.

 Phép chiếu không có tính giao hoán.

π ( π (R)) ≠ π ( π (R))

Trang 12

Phép chọn(Selection)

 Phép chọn dùng để trích chọn một tập con trong một quan

hệ, các bộ được trích chọn phải thoả mãn điều kiện chọn.

Công thức : σ < điều kiện > (< Tên quan hệ >)

 < Tên quan hệ >: chỉ quan hệ được chọn

 Kết quả thu được là một quan hệ có danh sách thuộc tính

được chỉ ra trong Tên quan hệ.

 <Điều kiện> : là các biểu thức điều kiện cần thoả mãn Các

định ), (và), (hoặc).

 Phép chọn có tính giao hoán.

Trang 13

Phép chọn(Selection)

Ví dụ : Cho quan hệ SV(Mã SV,Họ tên,Ngày sinh,Điểm)

Trang 14

Phép kết nối (Join)

Phép ghép bộ: Giả sử cho hai bộ u = (a1, ., an)

và v = (b1, ., bm) Phép ghép bộ u với bộ v, ký hiệu (u,v), được định nghĩa

(u,v) = (a1, ., an, b1, ., bm)

Phép kết nối hai quan hệ thực chất là phép ghép các cặp bộ của hai quan hệ thoả mãn một điều kiện nào đó trên chúng, điều kiện đó được gọi

là điều kiện kết nối hay biểu thức kết nối

Biểu thức kết nối được định nghĩa là phép hội

của các toán hạng, mỗi toán hạng là một phép

so sánh đơn giản giữa một thuộc tính của quan

hệ r và một thuộc tính của quan hệ s

Trang 15

Phép kết nối θ (Inner join, join)

Định nghĩa: Cho 2 quan hệ r(U) và s(V)

A θ B

A θ B

A θ B

Trang 16

Phép kết nối(Join)

Ví dụ :

r ( A B C ) s( C D E ) r  s = ( A B C C D E)

a1 1 1 1 d1 e1 a1 1 1 1 d1 e1 a2 2 1 2 d2 e2 a2 2 1 1 d1 e1 a1 2 2 3 d3 e3 a2 2 1 2 d2 e2

a1 2 2 1 d1 e1 a1 2 2 2 d2 e2

B≥ C

Kết nối tự nhiên

r(ABC) * s(CDE) = ( A B C D E) a1

1 1 d1 e1 a2 2 1 d1 e1 a1 2 2 d2 e2

Trang 17

Phép kết nối tự nhiên (Natural-Join Operation)

Nếu kết nối θ dựa trên phép so sánh “=“ tại các thuộc

tính cùng tên của 2 quan hệ R và S và một trong hai thuộc tính đó bị loại bỏ qua phép chiếu thì gọi là

phép kết nối tự nhiên, ký hiệu *.

Ví dụ: Tìm tên các môn học có dạy trong học kỳ 2 10-11.

MAMH TENMON

TH409 Cơ Sở Dữ Liệu TH364 Trí Tuệ Nhân Tạo

B: πmamh, TenMon (MON)

A * B

Những dòng không có ở cả

2 bảng sẽ không có mặt ở

bảng KQ

Trang 18

Phép kết nối ngoài (Outer join)

Định nghĩa: Phép toán này cho phép làm việc với thông tin bị thiếu, tức là vẫn thực hiện phép kết nối tự nhiên trên các trị trống của thuộc tính dùng để kết nối.

Có 3 loại kết nối mở rộng: trái, phải và hai bên

Trang 19

Phép kết nối ngoài – ví dụ (Outer join)

1232 Phan Phương Lan

MAGV HOTEN_GV MAGV MAMH

1250 Lê Phú Thọ NULL NULL

1255 Nguyễn Khuyến 1255 TH490

1256 Đào Anh Vũ NULL NULL

1231 Trần Ngân Bình 1231 TH409

1232 Phan Phương Lan 1232 TH409

1232 Phan Phương Lan 1232 TH334

MAGV MAMH MAGV HOTEN_GV

1231 TH409 1231 Trần Ngân Bình

1232 TH409 1232 Phan Phương Lan

1232 TH334 1232 Phan Phương Lan

R: DS GV c a Khoa ủ

S: Phân công d y trong HK này ạ

R S

R S R S ?

Trang 20

Phép gán (Assignment)

Dùng để diễn tả câu truy vấn phức tạp.

Ký hiệu: A B

Ví dụ:

R(HO,TEN,LUONG)← πHONV,TENNV,LUONG (NHANVIEN)

Kết quả bên phải của phép gán được gán cho biến quan

hệ nằm bên trái.

Trang 21

, ( , /

S R

1 2

1

) )

((

)

(

R T

S T

R T

S R

S R

+ +

π π

Trang 22

Ví dụ: Phép chia

Mahv

HV01 HV03

KETQUATHI Mahv Mamh Diem

] ,

[

Mamh MONHOC

MONHOC

Mamh Mahv

KETQUATHI

KETQUA

Trang 23

Hàm tính toán và gom nhóm

Hàm tính toán gồm các hàm:

avg(), min(), max(), sum(), count()

Phép toán gom nhóm:

–E là biểu thức đại số quan hệ

–Gi là thuộc tính gom nhóm (rỗng, nếu không gom nhóm)

), , (

), (

, ,

n n

n F A F A F A G

G

Trang 24

Hàm tính toán và gom nhóm

Điểm thi cao nhất, thấp nhất, trung bình của môn CSDL?

Điểm thi cao nhất, thấp nhất, trung bình của từng môn?

)

() (

), min(

), max(Diem Diem avg Diem KETQUATHI

)

(

CSDL' '

Mamh )

( ), min(

), max(Diem Diem agv Diem = KETQUATHI

Trang 25

S1 P1 300 S1 P2 200 S1 P3 400 S2 P1 300 S2 P2 400

S

P SP

Cho sơ đồ quan hệ sau :

Trang 26

S# SNAME STATUS CITY

Liệt kê danh sách các mặt hàng màu đỏ :

σCOLOR = ‘Red’(P)

Liệt kê P#, PName các mặt hàng màu đỏ và có Weight >15 :

∏P#,Pname (σColor = ’Red’ ^ Weight > 100(P))

Liệt kê S# của các hãng cung ứng mặt hàng ‘P1’ hoặc ‘P2’

Thực hiện các câu hỏi sau bằng ngôn ngữ đại số QH

Trang 27

S# SNAME STATUS CITY

Thực hiện các câu hỏi sau bằng ngôn ngữ đại số QH

Liệt kê S# của các hãng cung ứng cả hai mặt hàng ‘P1’ và P2’

∏S# (σP# = ’P1’ (SP)) ∩ ∏s# (σP# = ’P2’(SP))

Liệt kê S# của các hãng cung ứng ít nhất một Mhàng màu đỏ

∏S# (SP * σCOLOR=’Red’(P))

Trang 28

Ví dụ 2:

GIANGVIEN (MAGV, HOTENGV)

SINHVIEN (MASV, HOTENSV, NAMNHAPHOC)

LOAIDETAI (MALOAI, TENLOAI)

DETAI (MADETAI, TENDETAI, MAGV, MALOAI)

DETAI_SINHVIEN (MADETAI, MASV)

Phát biểu:

•Mỗi một đề tài thuộc duy nhất một loại và có một giảng viên

hướng dẫn

•Một đề tài có thể có một hoặc nhiều sinh viên cùng tham gia làm.

•Một sinh viên có thể tham gia làm một hay nhiều đề tài

Trang 29

Ví dụ: Dùng Đại số quan hệ

GIANGVIEN (MAGV, HOTENGV)

SINHVIEN (MASV, HOTENSV, NAMNHAPHOC)

LOAIDETAI (MALOAI, TENLOAI)

DETAI (MADETAI, TENDETAI, MAGV, MALOAI)

DETAI_SINHVIEN (MADETAI, MASV)

Câu 1: Liệt kê mã sinh viên có tham gia đề tài với

các mã đề tài là ‘HTT1’ và ‘HTT2’.

Lời giải:

Trang 30

Ví dụ: Dùng Đại số quan hệ

GIANGVIEN (MAGV, HOTENGV)

SINHVIEN (MASV, HOTENSV, NAMNHAPHOC)

LOAIDETAI (MALOAI, TENLOAI)

DETAI (MADETAI, TENDETAI, MAGV, MALOAI)

DETAI_SINHVIEN (MADETAI, MASV)

Câu 1b: Liệt kê mã đề tài được thực hiện bởi sinh viên có

họ tên là “Nguyen Van Dung”

Lời giải:

Trang 31

Ví dụ 3:

Lược đồ CSDL quản lý bán hàng gồm có các quan hệ sau:

KHACHHANG (MAKH, HOTEN, DCHI, SODT, NGSINH,

DOANHSO, NGDK)

NHANVIEN (MANV,HOTEN, NGVL, SODT)

SANPHAM (MASP,TENSP, DVT, NUOCSX, GIA)

HOADON (SOHD, NGHD, MAKH, MANV, TRIGIA)

CTHD (SOHD,MASP,SL)

Trang 32

Mô tả các câu truy vấn sau bằng ĐSQH

1 In ra danh sách các sản phẩm (MASP,TENSP) do “Han Quoc”

sản xuất có giá từ 30.000 đến 40.000

2 In ra danh sách các khách hàng (MAKH, HOTEN) đã mua hàng

trong ngày 1/1/2013.

3 In ra danh sách các sản phẩm (MASP,TENSP) do “Han Quoc”

sản xuất hoặc các sản phẩm được bán ra trong ngày 1/1/2013.

4 Tìm các số hóa đơn mua cùng lúc 2 sản phẩm có mã số

“BB01” và “BB02”.

5 In ra danh sách các sản phẩm (MASP,TENSP) do “Han Quoc”

sản xuất không bán được trong năm 2012.

6 Tìm số hóa đơn đã mua tất cả các sản phẩm do Singapore sản

xuất

Trang 33

1 In ra danh sách các sản phẩm (MASP, TENSP) do

“Han Quoc ” sản xuất có giá từ 30.000 đến 40.000.

KHACHHANG (MAKH, HOTEN, DCHI, SODT, NGSINH, DOANHSO, NGDK)

NHANVIEN (MANV,HOTEN, NGVL, SODT)

SANPHAM (MASP,TENSP, DVT, NUOCSX, GIA)

HOADON (SOHD, NGHD, MAKH, MANV, TRIGIA)

CTHD (SOHD,MASP,SL)

Lời giải:

Trang 34

2 In ra danh sách các khách hàng (MAKH, HOTEN) đã mua hàng trong ngày 1/1/2014.

KHACHHANG (MAKH, HOTEN, DCHI, SODT, NGSINH, DOANHSO, NGDK)

NHANVIEN (MANV,HOTEN, NGVL, SODT)

SANPHAM (MASP,TENSP, DVT, NUOCSX, GIA)

HOADON (SOHD, NGHD, MAKH, MANV, TRIGIA)

CTHD (SOHD,MASP,SL)

Lời giải:

Trang 35

3 In ra danh sách MSP, TENSP các sản phẩm do

“HanQuoc” sản xuất hoặc các sản phẩm được bán ra trong ngày 1/1/2014.

KHACHHANG (MAKH, HOTEN, DCHI, SODT, NGSINH, DOANHSO, NGDK)

NHANVIEN (MANV,HOTEN, NGVL, SODT)

SANPHAM (MASP,TENSP, DVT, NUOCSX, GIA)

HOADON (SOHD, NGHD, MAKH, MANV, TRIGIA)

CTHD (SOHD,MASP,SL)

Lời giải:

Trang 36

4 Tìm các số hóa đơn đã mua cùng lúc các sản phẩm

có mã số “BB01” và “BB02”.

KHACHHANG (MAKH, HOTEN, DCHI, SODT, NGSINH, DOANHSO, NGDK)

NHANVIEN (MANV,HOTEN, NGVL, SODT)

SANPHAM (MASP,TENSP, DVT, NUOCSX, GIA)

HOADON (SOHD, NGHD, MAKH, MANV, TRIGIA)

CTHD (SOHD,MASP,SL)

Lời giải:

Trang 37

5 In ra MASP, TENSP các sản phẩm do

‘HanQuoc’ sản xuất không bán được trong

năm 2012.

KHACHHANG (MAKH, HOTEN, DCHI, SODT, NGSINH, DOANHSO, NGDK)

NHANVIEN (MANV,HOTEN, NGVL, SODT)

SANPHAM (MASP,TENSP, DVT, NUOCSX, GIA)

HOADON (SOHD, NGHD, MAKH, MANV, TRIGIA)

CTHD (SOHD,MASP,SL)

Lời giải:

Trang 38

6 Tìm số hóa đơn đã mua tất cả các sản

phẩm do Singapore sản xuất

KHACHHANG (MAKH, HOTEN, DCHI, SODT, NGSINH, DOANHSO, NGDK)

NHANVIEN (MANV,HOTEN, NGVL, SODT)

SANPHAM (MASP,TENSP, DVT, NUOCSX, GIA)

HOADON (SOHD, NGHD, MAKH, MANV, TRIGIA)

CTHD (SOHD,MASP,SL)

Lời giải:

Trang 39

Phần 2

Ngôn ngữ truy vấn SQL

Trang 40

Giới thiệu

SQL(Structured Query Language)

• Ngôn ngữ cấp cao

• Được phát triển bởi IBM, năm 1970

• Được chuẩn hóa bởi ANSI và ISO(SQL-86, SQL-92,

SQL-99)

Bao gồm :

• Ngôn ngữ định nghĩa dữ liệu

• Ngôn ngữ thao tác dữ liệu

• Ngôn ngữ truy vấn dữ liệu

• Ngôn ngữ quản lý dữ liệu

Các hệ quản trị CSDL đều có cách cài đặt ngôn ngữ khác nhau nhưng đều dựa trên chuẩn của SQL

Trang 41

Ngôn ngữ định nghĩa dữ liệu(DDL)

Dùng để :

 Mô tả lược đồ cho các quan hệ

 Mô tả miền giá trị cho các thuộc tính

 Mô tả các ràng buộc toàn vẹn

 Chỉ mục trên mỗi quan hệ

Trang 42

Các lệnh thao tác với bảng

Tạo bảng :

CREAT TABLE <Tên_bảng>

( <tên_ cột_1> <loại dữ_liệu_1> < kích thước 1>,

……….

<tên_ cột_n> <loại dữ_liệu_n> < kích thước n>,

[CONSTRAINT <tên ràng buộc toàn vẹn>]|NULL|NOT

NULL|

Primary Key (Khoá chính)

[Unique (Khoá )]

[Foreign Key (Khoá _ ngoài) Reference Tên_bảng]

[Check <Điều_ kiện_ràng_buộc>]

);

Trang 43

Các lệnh thao tác với bảng

Trong đó :

• Chỉ thị NOT NULL : chỉ rằng cột không nhận giá trị rỗng

Ngầm định là Null Thuộc tính khoá ngầm định là Not Null

• Chỉ thị COSNTRAINT<tên các ràng buộc toàn vẹn>: khai

báo các ràng buộc toàn vẹn của CSDL

• Chỉ thị Primary Key (Khoá chính): Khai báo khoá chính

của mảng

• Chỉ thị Unique (Khoá) : Khai báo các khoá khác nếu có

• Chỉ thị Foreign Key Khoá_ ngoài Reference Tên_ bảng :

Khai báo các khoá ngoài của bảng

• Chỉ thị Check Điều_kiện_ràng_buộc : Khai báo các ràng

buộc dữ liệu

Trang 44

Các lệnh thao tác với bảng

Ví dụ :

Tạo bảng S :

CREATE TABLE S

(S# INTEGER NOT NULL,

SNAME VARCHAR(8) NOT NULL,

STATUS INTEGER NOT NULL,

CITY VARCHAR(30) NOT NULL

CONSTRAINT S_Khoá_chính PRIMARY KEY (S#) )

Trang 45

Các lệnh thao tác với bảng

Trang 46

Các lệnh thao tác với bảng

Thêm một cột :

ALTER TABLE <Tên_bảng>

ADD COLUMN <Tên_cột><Kiểu_dữ_liệu >[NOT NULL]

Xoá một cột :

ALTER TABLE <Tên_bảng>

DROP COLUMN <Tên_cột>

Sửa kiểu dữ liệu của một cột đã định nghĩa :

ALTER TABLE <Tên_bảng>

CHANGE COLUMN <Tên_cột> <Kiểu_dữ_liệu_mới >

Trang 47

Các lệnh thao tác với bảng

Thêm một ràng buộc :

ALTER TABLE <Tên_bảng>

ADD CONSTRAINT <Tên_ràng_buộc><Kiểu_ràng_buộc >

Xóa một ràng buộc :

ALTER TABLE <Tên_bảng>

DROP CONTRAINT <Tên_ràng_buộc>

Xoá bảng :

DROP TABLE <tên_bảng>

VD : DROP TABLE NHANVIEN

Trang 48

[WHERE <biểu thức điều kiện>]

[GROUP BY<dsách tên cột>[HAVING<bthức điều kiện>]] [ORDER BY<dsách tên cột>|<biểu thức>] [ASC|DESC] [UNION | INTERSECT | MINUS<Câu truy vấn>]

Kết quả của câu truy vấn là một bảng dữ liệu được kết xuất từ 1 hoặc nhiều bảng

Trang 49

Truy vấn đơn giản trên một bảng

Tìm kiếm không điều kiện

– Cho biết tên của các nhà cung cấp :

∀∏Sname (S)

• Select SNAME From S – Cho biết tên của các nhà cung cấp (loại bỏ trùng lặp)

dùng từ khóa Distinct trước SNAME :

• Select Distinct SNAME From S – Liệt kê danh sách các nhà cung cấp :

• Select * From S – Từ khóa “*” thay thế cho toàn bộ thuộc tính của một quan

Trang 50

Đặt tên trong SQL

Trang 51

Phép toán số học

Trang 52

Các phép toán logic trong SQL

Dùng trong mệnh đề WHERE và HAVING để xây dựng các điều kiện chọn

• =,<>, <, >, ≤, ≥

• And, Or, Not

• Between<giá trị đầu> And <giá trị sau>

• In (<Danh sách giá trị>)

Đưa ra danh sách mã của các nhà cung cấp đã cung cấp

‘P1’ với số lượng >50

Select S# From SP Where P# = ‘P1’ And QTY>50

Ví dụ : Đưa ra danh sách mã của các nhà cung cấp đã

cung cấp 1 trong hai mặt hàng ‘P1’ hoặc ‘P2’

Select S# From SP Where P# = ‘P1’ Or P# = ‘P2’

Trang 54

Truy vấn có xử lý xâu kí tự

SQL dùng toán tử LIKE để so sánh xâu.

SQL sử dụng kí tự ' %' để thay thế cho một xâu con, dấu phân cách '_' để thay thế cho một kí tự.

Trang 55

Truy vấn có xử lý xâu kí tự

Ví dụ :

– Đưa ra thông tin về hãng cung ứng có tên là bắt đầu bằng chữ ‘H’ Select * From S

Where SNAME Like ‘H%’

– Đưa ra thông tin về sản phẩm mà tên có chứa từ ‘bánh’

Select * From P Where PNAME Like ‘%banh%’

Trang 56

Các ví dụ

Trang 57

Ví dụ:

GIANGVIEN (MAGV, HOTENGV)

SINHVIEN (MASV, HOTENSV, NAMNHAPHOC)

LOAIDETAI (MALOAI, TENLOAI)

DETAI (MADETAI, TENDETAI, MAGV, MALOAI)

DETAI_SINHVIEN (MADETAI, MASV)

Phát biểu:

•Mỗi một đề tài thuộc duy nhất một loại và có một giảng viên

hướng dẫn

•Một đề tài có thể có một hoặc nhiều sinh viên cùng tham gia làm.

•Một sinh viên có thể tham gia làm một hay nhiều đề tài

Trang 58

Ví dụ: Dùng SQL

GIANGVIEN (MAGV, HOTENGV)

SINHVIEN (MASV, HOTENSV, NAMNHAPHOC)

LOAIDETAI (MALOAI, TENLOAI)

DETAI (MADETAI, TENDETAI, MAGV, MALOAI)

DETAI_SINHVIEN (MADETAI, MASV)

Câu 2: Liêêt kê danh sách gồm Mã sinh viên, Họ tên sinh viên

mà làm ít nhất 2 loại đề tài khác nhau

Lời giải:

Trang 59

Ví dụ 1: Dùng SQL

GIANGVIEN (MAGV, HOTENGV)

SINHVIEN (MASV, HOTENSV, NAMNHAPHOC)

LOAIDETAI (MALOAI, TENLOAI)

DETAI (MADT, TENDT, MAGV, MALOAI)

DETAI_SINHVIEN (MADT, MASV)

Câu 3: Liêêt kê danh sách gồm mã đề tài, tên đề tài, họ tên

giảng viên hướng dẫn mà chỉ có duy nhất một sinh viên

tham gia

Lời giải:

Trang 60

Ví dụ 2:

LOAISP (MA_LOAI, MO_TA, HAN_LUU_KHO)

SANPHAM (MA_SAN_PHAM, TEN_SAN_PHAM, MA_LOAI)

PHIEUNHAPXUAT(MA_SO_PHIEU, NGAY_NHAP, LOAI_PHIEU)

CHITIETPHIEU (MA_SO_PHIEU, MA_SAN_PHAM, SO_LUONG)

Ghi chú :

<<HAN_LUU_KHO>>: thời gian tính bằng đơn vị là ngày để cho sản phẩm

thuộc loại đó có thể dự trữ trong kho mà không bị hỏng.

<<LOAI_PHIEU>> trong bảng Phieunhapxuat:

LOAI_PHIEU = 1: nhập LOAI_PHIEU = 0: xuất

Phát biểu :

- Mỗi một sản phẩm thuộc một loại sản phẩm.

- Mỗi lần nhập một sản phẩm về kho hay xuất ra kho đều được ghi nhận

trong bảng “PHIEUNHAPXUAT” với thuộc tính loại để phân biệt.

- Mỗi lần nhập hay xuất kho những mặt hàng nào thì được ghi nhận trong

Ngày đăng: 16/05/2015, 09:09

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w