Presentation is loading. Please wait.

Presentation is loading. Please wait.

Agenda for Class 9/25/2012 Introduce Microsoft’s SQL Server database management system. Use the lab to discuss how to CREATE, DROP and populate (INSERT)

Similar presentations


Presentation on theme: "Agenda for Class 9/25/2012 Introduce Microsoft’s SQL Server database management system. Use the lab to discuss how to CREATE, DROP and populate (INSERT)"— Presentation transcript:

1 Agenda for Class 9/25/2012 Introduce Microsoft’s SQL Server database management system. Use the lab to discuss how to CREATE, DROP and populate (INSERT) tables. Introduce SELECT statement. Discuss connection between MS Access and SQL Server.

2 Accessing SQL Server Login to COB server (use your netID). Accessing from COB labs: –Execute Microsoft SQL Server Management Studio. Accessing from home: –Execute Remote Desktop Connection. –Login to server called sts.coba.unr.edu Use your netID as the User name and password. When not in the COB labs, your netID for Windows authentication is UNR\netID. –Execute Microsoft SQL Server Management Studio.

3 Logging into the class server for SQL Server After executing SQL Server Management Studio, either directly when in the COB labs, or through remote desktop when not in the COB labs, you must login to our class server. –Server name is ISSQL\Students Use Windows authentication for all work on SQL Server.

4 SQL Server Management Studio Object Explorer New Query editor Options File Tabs Difference between database object and SQL code Accessing files from the k: or u: drives Saving SQL code to/from a separate file

5 SQL (structured query language) is a non- procedural language designed to process data. Data processing operations include: –Creating tables –Create and enforcing constraints –Adding, changing, deleting data –Accessing data (either through single rows or aggregation) SQL is an ANSI (American National Standards Institute) standard language 5 SQL Background

6 A front-end programming tool Does not: –Make pretty output (forms/reports) –Make pretty websites –Make anything pretty for users to look at!! –Do extensive calculations –Do statistical calculations 6 SQL is not...

7 All commands are considered to be “queries” Any command acts upon the database: –creating or altering (changing) database objects, –adding/deleting/changing data inside a database object, –looking at data inside a database object. Operates with an implied loop; no explicit loops. The programmer has no control over the execution of the loop. 7 How does SQL operate?

8 8 SQL Commands Data Definition Commands (DDL) Data Manipulation Commands (DML) Data Control Commands (DCL) CREATEINSERTGRANT ALTERUPDATEREVOKE DROPDELETECOMMIT TRUNCATEROLLBACK SELECTSET TRANSACTION

9 SQL statements start with a command, and then include few or many modifiers/extensions for the command. SQL statements are not case sensitive. Can span more than one physical line; it is a free form language. SQL keywords cannot be abbreviated or split across lines. 9 Guidelines for writing SQL

10 Keywords and/or main clauses are typically placed on separate lines. Tabs and indentation are used to enhance readability. Keywords are typically aligned in the first column. Keywords are usually capitalized. Data are usually in lowercase or a combination of uppercase and lowercase. Comments are included sparingly, but usefully. 10 Much tradition in SQL code

11 Class Exercise Database Referential integrity: Table constraint. When inserting data in the child table, checks to see whether a related row exists in the parent table.

12 Let’s create a small table Click on the “new query” button. Type the following: CREATE TABLE tblemployee (employeeID char(5) primary key, LastName varchar(30), BillingRate money); Click on the “Execute” button.

13 Deleting a table Cannot have more than one data object with the same name. Must delete data objects before re-creating them. SQL Statement is: DROP TABLE tblemployee; Let’s try and drop the table named tblemployee. Keep the current query tab open, and open another “new query” tab. Drop the table. General information: Must delete objects in the order of referential integrity constraints.

14 Create a named constraint Constraints can be “named” in SQL for easier future reference. CREATE TABLE tblemployee (employeeIDchar(4), LastNamevarchar(30), BillingRatemoney, Constraint pkemployee Primary key (employeeID));

15 SQL INSERT Statement Used to “populate” a table with data. Used to enter one row of data. Character data and dates must be entered surrounded by single quotes. Dates can be entered using a variety of formats: –‘25-sep-2012’ –‘09/25/2012’ –‘09-25-2012’

16 Let’s put data into that table Click on the “new query” button. Type the following SQL Commands (or copy from the PowerPoint). Each command will produce one row in the table called “tblemployee”. This is task #3 on the exercise sheet. INSERT INTO tblemployee VALUES (‘7819', ‘Martinson’, 125); INSERT INTO tblemployee VALUES (‘2745', ‘Johnson’, 85.50); INSERT INTO tblemployee VALUES (‘0062', Belwin, 54.75); INSERT INTO tblemployee VALUES (0062, ‘Smith’, 200);

17 Let’s look at the data Click on the “new query” button. The SQL statement below is task #4 on the exercise sheet. SELECT * FROMtblemployee;

18 Examples of Retrieving Data from a Table SELECT* FROM tblemployee; SELECT employeeID, lastname FROM tblemployee WHERE employeeID = ‘0062’; The * means retrieve all columns. The FROM statement, without a WHERE statement, means retrieve all rows.

19 Now create the other two tables in the sample ERD Do tasks #5 and #6 on the exercise sheet.

20 Sample Tables with Concatenated Foreign Key This is NOT a task on the exercise sheet. This shows how to handle a concatenated foreign key. Will be discussed in class.

21 CREATE TABLE tblOrd (order_id CHAR(5) PRIMARY KEY, cust_id CHAR(3), ord_date DATETIME); CREATE TABLE tblProduct (prod_idINT, manufacturer_id CHAR(6), location_idINT, costMONEY, PRIMARY KEY (prod_id, manufacturer_id, location_id));

22 CREATE TABLE tblOrderLine (order_idCHAR(5), prod_idINT, ship_dateDATETIME, manufacturer_idCHAR(6), location_idINT, qtyDECIMAL(8,2), priceMONEY, PRIMARY KEY (order_id,prod_id,ship_date), CONSTRAINT product_fk FOREIGN KEY (prod_id,manufacturer_id,location_id) REFERENCES tblProduct(prod_id,manufacturer_id,location_id), CONSTRAINT order_fk FOREIGN KEY (order_id) REFERENCES tblOrd(order_id));

23 Creating tables with other constraints CREATE TABLE tblExample (field1 INT PRIMARY KEY, field2 CHAR(2) CHECK (code_field in(‘02’,’A1’,’B3’,’04’)), field3 MONEY CHECK (cost >.02), field4char(5) NOT NULL, field5decimal(6,4) default 1 );

24 SQL Server Connections Not a “front end” package; not designed for end- users. Can be connected as a backend database to a variety of different packages. Access is the most convenient for our environment.

25 Copy the results into Word Select all the columns and rows from tblemployee. Copy and paste the results from SQL Server into Word See how ugly? Could do a screen capture to improve the look.

26 Using MS Access as our “front end” Open a file on the “k” drive called: IS475\f12\StoredProcedureTemplate. CREATE PROCEDURE --Stored Proc Name Here AS --Put your code here GO

27 Using an MS Access Project for Output Refer to the “MSAccess FrontEnd” link on the “handouts” column for 9/25 on the course web site. Follow the instructions to create an empty project shell in MS Access that links to SQL Server. Then create a query that can be retrieved from MS Access. Look at the output in MS Access. Copy and paste output from MS Access to Word.

28 Sharing tables with your team Discuss database owners. Discuss database name in object browser. Discuss permissions. Best practice: Create and populate the tables in each group member’s database. The data for HW#5-8 is relatively static, so it will lessen the complexity of the assignments if everyone has direct access to the tables.


Download ppt "Agenda for Class 9/25/2012 Introduce Microsoft’s SQL Server database management system. Use the lab to discuss how to CREATE, DROP and populate (INSERT)"

Similar presentations


Ads by Google