sql2005實驗
1. 資料庫技術與應用---sql server 2005(詹英編寫)最後一次上機實驗要求 設計一個學籍管理小系統!!!!!
建表SQL語句如下(數據自己插入):
USE test
go
CREATE TABLE students
(
stno VARCHAR(10) PRIMARY KEY,
stsex VARCHAR(2) ,
birthday DATETIME,
departmentno VARCHAR(10) NOT NULL
)
CREATE TABLE department
(
departmentno VARCHAR(10) PRIMARY KEY,
departmentname VARCHAR(40)
)
CREATE TABLE course
(
courseno VARCHAR(10) PRIMARY KEY,
coursename VARCHAR(20),
coursetype VARCHAR(10),
credit TINYINT,
teacherno VARCHAR(20) NOT NULL
)
CREATE TABLE teacher
(
teacherno VARCHAR(20) PRIMARY KEY,
teachername VARCHAR(20),
cheng VARCHAR(20),
departmentno VARCHAR(10)
)
CREATE TABLE stu_course
(
stno VARCHAR(10),
courseno VARCHAR(10),
score TINYINT
)
--1給出學生名,查詢學生所選的所有課程名、成績,累計學分、若成績不及格,要提示。
CREATE PROC select_stno @stno varchar(10)
AS
begin
DECLARE @table TABLE(id INT IDENTITY,coursename VARCHAR(20),score TINYINT)
INSERT INTO @table(coursename,score)
SELECT c.coursename,b.score FROM student a
JOIN stu_course b ON a.stno=b.stno
JOIN course c ON b.courseno=c.courseno
WHERE a.stno=@stno
DECLARE @i INT
DECLARE @j INT
SELECT @j=COUNT(*) FROM @table
SET @i=1
WHILE @i<=@j
BEGIN
DECLARE @m TINYINT
DECLARE @n VARCHAR(20)
SELECT @m=score,@n=score FROM @table WHERE id=@i
IF @m<60
BEGIN
PRINT @n+'不及格'
END
SET @i=@i+1
END
END
--2給出課程名,查詢學生的平均成績
SELECT AVG(a.score) FROM stu_course a
JOIN course b ON a.courseno=b.courseno
WHERE b.coursename='(課程名)'
--3各門課按平均成績排序
SELECT b.coursename FROM stu_course a
JOIN course b ON a.courseno=b.courseno
GROUP BY b.coursename
ORDER BY AVG(a.score)
--4顯示所有的課程名和講課教師名
SELECT a.coursename,b.teachername FROM course a
JOIN teacher b ON a.teacherno=b.teacherno
--5給出講課教師名,查詢所講課程的課程名、學生成績
SELECT a.teachername,b.coursename,c.score FROM teacher a
JOIN course b ON a.teacherno=b.teacherno
JOIN stu_course c ON b.courseno=c.courseno
最後提醒一句,自己的作業還是自己做好
2. SQL server2005,本來是用sa賬號登錄的,做實驗改成windows驗證模式,後來兩種方式都連接不了。求解。
你進2005的外圍應用配置器 在 服務和鏈接的外圍應用配置器 中 在數據引擎(database engine)那一項將服務重啟一下(就是停止再運行),然後再遠程鏈接哪裡選擇 本地鏈接和遠程連接 下面點選 僅使用TCP/IP 那一項 確認之後 重啟你的資料庫,再登陸試試,如果還不行,那就非常麻煩了,需要重裝資料庫或者系統。
3. SQL server 2005 實驗素材
其實SQL Server2005自帶的幾個資料庫都是很好恨強大的啊,像NorthWind什麼的,結構都很不錯的
4. SQL2005資料庫實驗報告
http://bbs.yesky.com/bbs.php?url=http://bbs.yesky.com/viewthread2.php?tid=2828786
5. sql server2005的課後實驗的有什麼用
按要求做完就行了,不過要想熟練掌握和運用sql server,建議還是多練習,在找本專業的書好好看看。有很多應用級的知識普通的教程里都不講的。
6. 有關SQL Server 2005 觸發器實驗作業的問題
CREATE TRIGGER tr_學生成績_update ON [dbo].[學生成績]
FOR UPDATE
AS
if update(成績)
begin
/*
update d set 總分=總分+a.成績 -b.成績
from inserted a inner join deleted b on a.學號=b.學號 and a.課程編號=b.課程編號
join 學生 d on a.學號=d.學號
*/
update d set 總分=總分+cj
from (select a.學號,sum(a.成績-b.成績) cj from inserted a inner join deleted b on a.學號=b.學號 and a.課程編號=b.課程編號
group by a.學號) c join 學生 d on c.學號=d.學號
end
go
7. 如何在sql2005中做一個銷售的關聯規則實驗
您好,您這樣:
1、在微軟提供的Adventure Works示例中,已經為我們創建好了Data
Warehouse庫,在2012版中默認對應的名稱是AdventureWorksDW2012。
2、在第一篇的演示中,我們用過一個視圖:vAssocSeqLineItems。
這個視圖裡面記錄了訂單號和商品名稱等信息。通過這個視圖,嵌套另外一個視圖,我們生成了關聯規則挖掘模型進行預測分析。
在上一篇中,挖掘工具中還需要提供商品價格信息,明顯這個視圖無法滿足工具的要求,所以我們根據數據倉庫的結構重新定義樣本數據。
3、在數據倉庫中,選擇兩張表,事實表FactInternetSales和維度表DimProct,在事實表中我們取訂單編號,然後連接到維度表中取產品名稱和價格信息。建立如下查詢:
SELECT
f.[SalesOrderNumber] AS [OrderNumber]
,Coalesce(p.[ModelName],
p.[EnglishProctName]) AS [Model]
,f.ExtendedAmount AS Amount
FROM [dbo].[FactInternetSales] f
INNER JOIN [dbo].[DimProct] p ON
f.[ProctKey] = p.[ProctKey]
這個查詢會連接事實表和維度表生成符合工具要求格式的數據,也就說訂單編號,商品名和價格。
接下來,需要在Excel中把上面SQL語句的查詢結果導入進來。下面的操作會演示如何導入一條SQL語句的結果到Excel中。當然在Excel中導入的方法很多,下面只介紹一種:
打開Excel,點擊Ribbon菜單下的Data,From Other Sources->From SQL Server。
4、在新彈出的數據連接工具中,指定分析伺服器所在的Server。點擊下一步,留意Connect to specific
table,由於我們這里用的是一個查詢而不是已經存在的一張表活著一個視圖,所以需要把這里勾選掉。然後選擇AdventureWorksDW2012
數據倉庫,點下一步。
5、確認連接文件後點擊Finish,接下來的界面中會讓你選擇指定資料庫下的一張表,這里隨便選擇一個。然後點OK。在然後出現的Import Data界面中,選擇屬性Properties,出現連接屬性界面。
6、在連接屬性界面中,點擊Definition,Command type更改成SQL,Command text里輸入剛才建立的SQL查詢,然後點擊OK。
8. 有關 SQL2005 資料庫實驗題的問題
1.
select min(t.s_count) s_count, t.tname from (select count(sc.sno) as s_count, project.tname from sc, project where sc.cno = project.cno group by project.tname) t;
2.
select student.sname, project.pname, case when sc.grade>=90 then "優秀" when sc.grede<60 then "不及格" as grade_lvl from sc, student, project where sc.sno = student.sno and sc.cno = project.cno and sc.grade>=90 or sc.grade<60;
3.
首先查出課題,班級,分數;
再按課題,班級分組,成績在60-70分的為count(1);成績在70-80分的為count(1);成績在80-90分的為count(1);就是想要的結果了,自己嘗試一下。
9. 急!!跪求SQLserver2005資料庫設計試驗,高分懸賞!!!
我把我的畢業設計發你吧,你換個郵箱,我這里不能發往Q郵箱
我郵箱是[email protected]你發封郵件給我
包括資料庫設計,整個項目,系統需求分析
項目名稱是銀行儲蓄系統