Hướng dẫn làm bài tập hệ quản trị cơ sở dữ liệu

SCRIPT CỦA E POST LÊN KHÔNG CÓ DỮ LIỆU E ƠI. E INSERT VÀO 1 ÍT ĐỂ DỄ TEST HƠN

vâng để em insert a đợi em chút

@vanhop em gửi sql lên giống như thế này nè
http://pastebin.com/bWQpyyid

Vào http://pastebin.com/ Chọn syntax highlighting là SQL

em post len fshare rồi mà anh nhưng sql của em nó có lỗi nhỏ là chỉ xuất tạo bảng ra mà không có dữ liệu mặc dù em đã insret bằng design nhưng script không có dữ liệu chỉ code tay thôi giờ em insret tay được không ak

vâng mấy anh nhiệt tình quá ! em thấy diễn đàn mình tận tâm mà em phần này học kém nên hơi lazy giờ mong sao qua bài tập này test lại kiến thức củng cố nó chứ em đọc lý thuyết không hiểu lắm !

mọi người có thể xem cơ sở dữ liệu mình tạo ra
http://pastebin.com/50RAEuRS

tại vì khi tạo file script e không chọn kèm theo lấy dữ liệu. a thường dùng cách này: cần chú ý bước có mũi tên đỏ thôi e

http://blog.sqlauthority.com/2009/07/29/sql-server-2008-copy-database-with-data-generate-t-sql-for-inserting-data-from-one-table-to-another-table/

(Nguồnhttp://blog.sqlauthority.com/2009/07/29/sql-server-2008-copy-database-with-data-generate-t-sql-for-inserting-data-from-one-table-to-another-table/)

2 Likes

http://pastebin.com/XR3Gfur6 đây là dữ liệu em thêm vào

1 Like

để em xem lại rồi test xem

1 Like

em làm được rồi anh ơi vui quá hiii

1 Like

http://pastebin.com/CieezEaB đây là cơ sở dữ liệu hoàn thiện của em

1 Like

Câu 1 của e. Tạm thời mới làm dc 1 câu vậy, có j e kiểm tra lại xem nhé.

---Funtion

create function myfuntion_GetFistName (@input NVARCHAR(250))
returns nvarchar (50)
as 
begin
	--SUBSTRING ( expression ,start , length )
	--CHARINDEX ( expressionToFind ,expressionToSearch [ , start_location ] )
	--REVERSE đaỏ chuỗi abc->cba
	declare @ten nvarchar (50)
	set @ten=(select REVERSE(SUBSTRING(REVERSE(@input),0,CHARINDEX(' ',REVERSE(@input))))) --copy trên mạng, e chỉ cần dựa vào chức năng của nó để mò ra vì sao lại có thể như vậy
	return @ten
end
go

 ---Câu truy vấn

select  dbo.myfuntion_GetFistName(s.TenSV) as TenSV
from SV s, Lop l
where s.Malop=l.Malop and l.Tenlop=N'TTD56'
order by TenSV
3 Likes

giờ em mới có thời gian lên diễn đàn , vâng em đang test lại ạ

1 Like

hi ! chào cả nhà em giờ mới đi học khóa tiếng anh nên giờ mới về làm bài tập và làm thêm được 3 câu rồi mong anh @tuancoi2506 test lại em vơi mà câu 1 của anh em test thử rồi ok a ak hi
đây là bài của em http://pastebin.com/25PDqurJ

2 Likes

câu trigger e xóa 1 dòng mà nó ra thông báo là chạy đúng rồi. Còn trigger 2 hình như e copy chưa đủ. Cái này a cũng học lâu rồi, tầm 2,3 năm không đụng tới nên chưa chắc a test đã đúng. Em đã làm được thì tức là đã hiểu tác dụng và luồng chạy của nó (khi ta làm j thì trigger đó dc kích hoạt…). Muốn kiểm tra thì em chỉ cần làm theo điều “cấm” để trigger đó la làng lên tức là e chạy đúng. :smiley:

2 Likes

hi vọng với bài tập mẫu này các bạn sinh viên nào có thắc mắc gì về phần này thì hãy qua topic của tớ để xem code hiểu cách làm… qua đó các bạn sẽ trao đổi với nhau… vì tớ đưa lên diễn đàn 1 bài tập cụ thể logic câu này liên quan tới câu kia nhằm hệ thống kiến thức qua bài tập không rời rạc trong đó có cả databas được insert dữ liệu cũng như giải từng ví dụ mà mọi người … ai không hiểu code thì cứ thắc mắc nhé…!
nếu ai có đam mê về môn học và nghành học này thì hãy vào ủng hộ diễn đàn các anh rất nhiệt tình !
Cuối ngày em chúc mấy anh và diễn đàn thành công ! Ngày hôm nay em học hỏi rất nhiều từ anh nên muốn viết vài dòng biết ơn anh mong mấy anh không thấy sễn ! hi

2 Likes

hi thế hả anh…câu 2 em xem lại cái đã

1 Like

ý em quên câu 2 là của phần function nè anh
http://pastebin.com/edxU2twX

1 Like

hôm nay em đi học mệt quá nên buổi trưa không làm được giờ mới về !
giờ đang làm tiếp nốt phần dang dở … hazzz đêm dài… quá…

1 Like

Ở trigger INSERT thì bạn dùng

INSERT INTO table1 (column1,column2,column3)
VALUES (value1,value2,value3);

Trước khi thực hiện trigger INSERT này thì phải check xem dữ liệu đã tồn tại hay chưa bằng cách query

SELECT column1,column2
FROM table1
WHERE column1 (operator = <> LIKE) 'value';

Việc này để tránh trùng lặp dữ liệu trong DB.

2 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?