SQL Server 2005 Tutorial

33 downloads 2026 Views 840KB Size Report
Εντολές. ▫ Καθορισµός σχήµατος. ○ CREATE object_type object_name. ○ ALTER object_type object_name. ○ DROP object_type object_name. ▫ Χειρισµός ...
SQL Server

MS SQL Server 2005

Integration Services

Εντολές 



Καθορισµός σχήµατος 

CREATE object_type object_name



ALTER object_type object_name



DROP object_type object_name

Χειρισµός ∆εδοµένων 

SELECT



INSERT



UPDATE



DELETE

Τύποι ∆εδοµένων 



Integers (-263  263-1)



bigint



int (-231  231-1)



smallint

(-215  215-1)



tinyint

(0 – 255)



Character Strings 

char

(8.000 chars)



varchar

(8.000 chars)



text

(231-1 chars)

Unicode Character Strings



Bit



nchar

(4.000 chars)



Decimal (Fix Scale, Precision)



nvarchar

(4.000 chars)



text

(230-1 chars)



sysname

=nvarchar(128)







numeric



float



binary

(8.000 bytes)



real



varbinary

(8.000 bytes)

= decimal



image

(231-1 bytes)



Money (Precision=10-4)  



decimal (-1038  1038-1) ,(Fix Scale, Precision)

money

(-263  263-1)

smallmoney

(~-218



218-1)

Date 

datetime

(3.33 msecs)



smalldatetime (1 min)



Binary

Other Data Types 

table



timestamp



uniqueidentifier

Παραγόµενες Μοναδικές Τιµές 

Τύπος IDENTITY (παράγει τοπικά µοναδικές τιµές: 1, 2, 3,…)

CREATE CREATE TABLE TABLE dbo.Categories dbo.Categories (( CategoryID CategoryID int int IDENTITY IDENTITY (1,1) (1,1) NOT NOT NULL, NULL, CategoryName CategoryName nvarchar(15) nvarchar(15) NOT NOT NULL, NULL, Description Description text, text, Picture Picture image) image) 

Επιτρέπεται µόνο ένα IDENTITY πεδίο σε ένα table



Χρησιµοποιείται ΜΟΝΟ σε πεδία integer, numeric, decimal



Η µεταβλητή @@identity δίνει την τελευταία τιµή που αποδόθηκε

Παραγόµενες Μοναδικές Τιµές 

Τύπος uniqueidentifier και συνάρτηση NEWID (Παράγει globally µοναδικές τιµές, π.χ. {210053ED-FDE1-40CB-9108-702816D7DF6C})

CREATE CREATE TABLE TABLE Customer Customer (CustID (CustID uniqueidentifier uniqueidentifier NOT NOT NULL NULL DEFAULT DEFAULT NEWID(), NEWID() NEWID(), CustName char(30) char(30) NOT NOT NULL) NULL) NEWID() CustName



Χρησιµοποιείται πάντα µετά από DEFAULT

Client-Server Communication Process

1

Query Query

Result Result Set Set

Database Database API API (OLE DB, ODBC, (OLE DB, ODBC, DB-Library) DB-Library) 2 Client

SQL SQL Server Server Server Server Net-Libraries Net-Libraries

Client Client Application Application

Client Client Net-Library Net-Library

3

Open Open Data Data Services Services Query Query

5

Result Result Set Set

Relational Relational Engine Engine

Server 4

Storage Storage Engine Engine

Processor Processor Memory Memory

Local Database

Login Authentication AUTHENTICATION

Windows Windows Group Groupor orUser User

SQL Server Verifies Trusted Connection Windows Domain

SQL Server

OR

SQL SQLServer Server Login LoginAccount Account

SQL Server Verifies Name and Password

Κλήση SQL Server από πρόγραµµα JAVA (JDBC)

Connection Connection con con == DriverManager.getConnection( DriverManager.getConnection( ““jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=db1” jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=db1 jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=db1” jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=db1””,, ””myuser", myuser mypassword myuser", myuser", ", ””mypassword" mypassword" mypassword""); ); // // connect connect Statement createStatement(); createStatement Statement stmt stmt == con.createStatement con.createStatement createStatement(); createStatement ResultSet ("SELECT ResultSet rs rs == stmt.executeQuery("SELECT stmt.executeQuery("SELECT ("SELECT COF_NAME, COF_NAME, PRICE PRICE FROM FROM COFFEES"); COFFEES"); while while (rs.next()) (rs.next()) {{ System.out.println(rs.getString rs.getString("COF_NAME") ++ "" || “); rs.getString System.out.println(rs.getString rs.getString("COF_NAME") “); rs.getString System.out.println(rs.getFloat rs.getFloat("PRICE");s + " | “); rs.getFloat System.out.println(rs.getFloat rs.getFloat("PRICE");s + " | “); rs.getFloat }}

Κλήση SQL Server από πρόγραµµα VB.NET (ADO)

Dim Dim sqlConn sqlConn As As New New SqlConnection( SqlConnection( ““server=127.0.0.1;Trusted_Connection=No;database server=127.0.0.1;Trusted_Connection= No;database server=127.0.0.1;Trusted_Connection=No;database No;database=db1; =db1; server=127.0.0.1;Trusted_Connection=No;database=db1; No;database=db1; user=myuser;password myuser;password= = mypassword”) // connect user= myuser;password mypassword user=myuser;password // connect user=myuser;password= myuser;password=mypassword”) mypassword Dim sqlComm = New SqlCommand("SELECT SELECT Films Dim sqlComm = New SqlCommand("SELECT SELECT ** FROM FROM Films", Films", sqlConn) Films sqlConn) Dim sqlReader = sqlComm.ExecuteReader ExecuteReader() ExecuteReader Dim sqlReader = sqlComm.ExecuteReader ExecuteReader() ExecuteReader Do While (sqlReader.Read()) Do While (sqlReader.Read()) Console.Write(sqlReader("film_ID") sqlReader("film_ID").ToString() ++ ““ || ") sqlReader("film_ID") Console.Write(sqlReader("film_ID") sqlReader("film_ID").ToString() ") sqlReader("film_ID") Console.Write(sqlReader("title") sqlReader("title").ToString() + " | ") sqlReader("title") Console.Write(sqlReader("title") sqlReader("title").ToString() + " | ") sqlReader("title") Console.Write(sqlReader("director") sqlReader("director").ToString() ++ "" || ") sqlReader("director") Console.Write(sqlReader("director") sqlReader("director").ToString() ") sqlReader("director") Console.WriteLine(sqlReader("year_produced") sqlReader("year_produced").ToString()) sqlReader("year_produced") Console.WriteLine(sqlReader("year_produced") sqlReader("year_produced").ToString()) sqlReader("year_produced") Loop Loop

Οδηγίες για την Εργασία 

Επιλογή DBMS/γλώσσας ελεύθερη: 

Win2000/XP/2003  SQL Server 2005/2000 Developer Edition



Win 98/ΜΕ  SQL Server 2000 Personal Edition



Linux  postgres/mysql



SQL Server 2005  ΒΙΒΛΙΟΘΗΚΗ ΗΛΕΚΤΡΟΛΟΓΩΝ.



Εξέταση Εργασίας



SQL Vs. Application



Λίστα [email protected]