1. Trang chủ
  2. » Giáo án - Bài giảng

Thảo luận cơ sở dữ liệu 2 về quản lý bất động sản

14 1,9K 4

Đ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 14
Dung lượng 1,1 MB

Nội dung

PHẦN I: MỞ ĐẦUGiới thiệu về phần mền SQL PHẦN II :BÀI TOÁNMô tả bài toán quản lý bất động sản thao tác lập bảng tạo bảng Ứng dụng các thao tác trong SQL trong bài toán:1.Câu lênh SELECT2.Khung nhìn VIEW3.Ràng buộc CHECK4.Thủ tục proc5.Hàm FUNTION6.TRIGGER7.Kết nối dữ liệu:

Trang 1

PHẦN I: MỞ ĐẦU

Bất động sản từ lâu đã gắn liền với cuộc sống của mọi người dân trong xã hội Cùng với sự phát triển nhanh chóng của các khu vực kinh tế,thị trường bất động sản ngày càng được hình thành và phát triển với tốc độ nhanh Một công ty bất động sản sẽ bao gồm nhiều hoạt động Để có thể quản lý tốt cần có một hệ cơ sở dữ liệu cụ thể, chi tiết tránh

bỏ sót các thông tin hoặc trùng lặp gây rối trong quá trình quản lý Để phục vụ cho việc quản lý trên nhóm em đã nghiên cứu và thực hiện đề tài: Xây dựng cơ sở dữ liệu của một công ty bất động sản

Giới thiệu về phần mền SQL

SQL server là gì?

SQL Server là viết tắt của Structure Query Language,nó là một công cụ quản lý dữ liệu được sử dụng phổ biến ở nhiều lĩnh vực Hầu hết các ngôn ngữ bậc cao đều có trình

hỗ trợ SQL như Visual BASic,Oracle,Visual C

Các chương trình ứng dụng và các công cụ quản trị CSDL cho phép người sử dụng truy nhập tới CSDL mà không cần sử dụng trực tiếp SQL Nhưng những ứng dụng đó khi chạy phải sử dụng SQL

Lịch sử phát triển

SQL Server được phát triển từ ngôn ngữ SEQUEL2 bởi IBM theo mô hình Codd tại trung tâm nghiên cứu của IBM ở California ,vào những năm 70 cho hệ thống QTCSDL lớn

Đầu tiên SQL Server được sử dụng trong các ngôn ngữ quản lý CSDL và chạy trên các máy đơn lẻ Song do sự phát triển nhanh chóng của nhu cầu xây dựng những CSDL lớn theo mô hình khách chủ( trong mô hình này toàn bộ CSDL được tập trung trên máy chủ

Trang 2

(Server)) Mọi thao tác xử lý dữ liệu được thực hiện trên máy chủ bằng các lệnh SQL máy trạm chỉ dùng để cập nhập hoặc lấy thông tin từ máy chủ) Ngày nay trong các ngôn ngữ lập trình bậc cao đều có sự trợ giúp của SQL Nhất là trong lĩnh vực phát triển của Internet ngôn ngữ SQL càng đóng vai trò quan trọng hơn Nó được sử dụng để nhanh chóng tạo các trang Web động

SQL đã được viện tiêu chuẩn quốc gia Mỹ (ANSI)và tổ chức tiêu chuẩn quốc tế (ISO) chấp nhận như một ngôn ngữ chuẩn cho CSDL quan hệ Nhưng cho đến nay chuẩn này chưa đưa ra đủ 100%.Nên các SQL nhúng trong các ngôn ngữ lập trình khác nhau đã được bổ xung mở rộng cho SQL chuẩn cho phù hợp với các ứng dụng của mình.Do vậy

có sự khác nhau rõ ràng giưã các SQL

Đặc điểm của SQL Server

- SQL là ngôn ngữ tựa tiếng Anh

- SQL là ngôn ngữ phi thủ tục, nó không yêu cầu ta cách thức truy nhập CSDL như thế nào Tất cả các thông báo của SQL đều rất dễ sử dụng và ít khả năng mắc lỗi

- SQL cung cấp tập lệnh phong phú cho các công việc hỏi đáp DL

+ Chèn, cập nhật, xoá các hàng trong một quan hệ

+ Tạo, sửa đổi, thêm và xoá các đối tượng trong của CSDL

+ Điều khiển việc truy nhập tới cơ sở dữ liệu và các đối tượng của CSDL để đảm bảo tính bảo mật của cơ sở DL

+Đảm bảo tính nhất quán và sự ràng buộc của CSDL

- Yêu cầu duy nhất để sử dụng cho các hỏi đáp là phải nắm vững được các cấu trúc CSDL của mình

Đối tượng làm việc của SQL Server

Là các bảng ( tổng quát là các quan hệ )dữ liệu hai chiêù Các bảng này bao gồm một hoặc nhiều cột và hàng.Các cột gọi là các trường ,các hàng gọi là các bản ghi.Cột với tên gọi và kiểu dữ liệu (kiểu dl của mỗi cột là duy nhất)xác định tạo nên cấu trúc

Trang 3

của bảng (Ta có thể dùng lệnh Desc[ribe] TABLE-name để xem cấu trúc của

bảng ,phần tuỳ chọn[] có thể được bỏ trong Oracle).Khi bảng đã được tổ chức hệ thống cho một mục đích nào đó có một CSDL

PHẦN II :BÀI TOÁN

Mô tả bài toán quản lý bất động sản

Công ty bất động sản

 Cơ sở dữ liệu gồm bốn bảng lưu thông tin về: nhân viên, khách hàng, bất động sản, hợp đồng

Bảng nhân viên lưu những thông tin về nhân viên của công ty: mã nhân viên, họ tên nhân viên, ngày sinh, quê quán giới tính, có khóa chính là mã nhân viên

Bảng khách hàng lưu những thông tin về khách hàng: mã khách hàng, họ tên khách hàng, ngày sinh, địa chỉ, có khóa chính là mã khách hàng

Bảng bất động sản lưu thông tin về bất động sản: mã bát động sản, diện tích, địa chỉ,gia, có kháo chính là mã bất động sản

Bảng hợp đồng lưu trữ các thông tin các hợp đồng đã ký của công ty: mã hợp đồng, mã nhân viên, mã khách hàng, mã bất động sản, ngày lập, tổng tiền

 Liên kết bảng:

Bảng bất động sản liên kết với bảng nhân viên thông qua khóa ngoại mã nhân viên Một nhân viên có thể quản lý nhiều hợp đồng Một hợp đồng chỉ có một nhân viên quản lý

Bảng bất động sản liên kết với bảng khách hàng thông qua khóa ngoại mã khách hàng Một khách hàng có thể có nhiều hợp đồng Một hợp đồng chỉ bao gồm một khách hàng

Trang 4

Bảng bất động sản liên kết với bảng bất động sản qua khóa ngoại mã bất động sản Một hợp đồng có thể có nhiều bất động sản Mỗi bất động sản chỉ có thể nằm trên một hợp đồng

Lập bảng

CREATE TABLE NHANVIEN(

maNV int PRIMARY KEY,

hotenNV nvarchar(30) not null,

ngaysinh date not null,

gioitinh bit notnull,

quequan nvarchar(100),

);

CREATE TABLE KHACHHANG(

maKH int PRIMARY KEY,

hotenKH nvarchar(30)not null,

diachi nvarchar(100)not null,

namsinh date not null,

);

CREATE TABLE BATDONGSAN(

maBDS int PRIMARY KEY,

dientich decimal not null,

diachi nvarchar(50),

gia money not null,

);

CREATE TABLE HOPDONG(

maHD int PRIMARY KEY,

maNV int,

CONSTRAINT fk_NV_HD FOREIGN KEY (maNV) REFERENCES

NHANVIEN(maNV),

maKH int,

CONSTRAINT fk_KH_HD FOREIGN KEY (maKH) REFERENCES

KHACHHANG(maKH),

maBDS int,

CONSTRAINT fk_BDS_HS FOREIGN KEY (maBDS) REFERENCES

BATDONGSAN(maBDS),

ngaylap datetime not null,

sotien money not null,

);

Trang 5

Thông tin trong bảng:

NHANVIEN

maN

KHACHHANG

BATDONGSAN

Trang 6

312 50 Dong Da 1 500 000 000

HOPDONG

Ứng dụng các thao tác trong SQL trong bài toán:

1 Câu lênh SELECT

Yêu cầu 1: Hiển thị danh sách khách hàng đã mua BDS có diện tích trên 70

select k.maKH, k.hotenKH, b.maBDS, b.dientich

Trang 7

from KHACHHANG k innerjoin HOPDONG h on k.maKH=h.maKH innerjoin BATDONGSAN b on h.maBDS=b.maBDS

where dientich>70

Yêu cầu 2: Đếm số nhân viên có quê quán ở Ha Noi:

selectCOUNT(maNV)

from NHANVIEN

where quequan like'Ha Noi'

2 Khung nhìn VIEW

Trang 8

Yêu cầu 1 : Tạo khung nhìn cho bảng khách hàng

create view xemkh

as

select kh.maKH , kh.diachi , hd.ngaylap , hd.sotien

from KHACHHANG as kh inner join HOPDONG as hd on kh.maKH = hd.maKH

Yêu cầu 2 : Xóa khung nhìn

DROP VIEW xemkh

3 Ràng buộc CHECK

CREATE TABLE NHANVIEN (

maNV int PRIMARY KEY,

hotenNV nvarchar(30) not null,

ngaysinh date not null,

gioitinh bit notnull,

quequan nvarchar(100), constraint chk_gioitinh check( true = nam or fasle = nu), )

Trang 9

4 Thủ tục proc

yêu cầu 1: Thêm dữ liệu vào bảng NhânViên

createproc [dbo].[themNV]

@maNV int,

@hotenNV nvarchar (30),

@ngaysinh date,

@gioitinh bit,

@quequan nvarchar(100)

as

insert NHANVIEN values(@manv,@hotennv,@ngaysinh,@gioitinh,@quequan)

Trang 10

Execute themNV'116','TranHaiNinh','01/20/1994','true','Hai Duong'

Câu lệnh chọn BẤT ĐỘNG SẢN

5 Hàm FUNTION

- Yêu cầu 1: đưa ra bảng thông tin về các bất động sản có mã bất động sản bằng với mã bất động sản nhập vào từ bàn phím

- Câu lệnh:

Create function f_chonBDS

( @maBDS char (10))

Returns table

As

Return ( select * from BATDONGSAN

Where maBDS=@maBDS )

Trang 11

- Thực hiện hàm:

Mở Query mới

Select * from f_chonBDS (‘315’)

Yêu cầu 2: sửa hàm , xóa hàm

Câu lệnh:

Alter function f_chonBDS

(@maBDS int)

Returns table

As

Return ( select * from BATDONGSAN

Trang 12

Where maBDS = @maBDS)

Drop function f_chonBDS

6 TRIGGER

Yêu cầu 1: Trigger cập nhật địa chỉ “Ha Noi” cho mã khách hàng ‘ 213’ CREATETRIGGER t_suadiachikh

on KHACHHANG

after UPDATE

AS

Begin

select*from KHACHHANG

end

Trang 13

Chạy.

update KHACHHANG set diachi='Ha Noi'where maKH ='213'

Kết quả.

Yêu cầu 2: Trigger chèn thêm một khách hàng mới có mã khách hàng là “221”,

họ tên “Nguyen Thi Lan”, địa chỉ “Nam Dinh”, năm sinh “2/2/1988”

CREATETRIGGER t_ttkh

on KHACHHANG

forinsert

as

begin

declare @maKH int

declare @hotenKH nvarchar(30)

declare @diachi nvarchar(100)

declare @namsinh datetime

select*From KHACHHANG

end

go

Chạy.

insertinto KHACHHANG values('221','Nguyen Thi Lan','Nam Dinh','2/2/1989')

Kết quả.

Trang 14

7 Kết nối dữ liệu:

Ngày đăng: 06/11/2015, 13:46

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

TÀI LIỆU LIÊN QUAN

w