* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download ASP.NET Programming with C# and SQL Server First
Survey
Document related concepts
Registry of World Record Size Shells wikipedia , lookup
Relational algebra wikipedia , lookup
Tandem Computers wikipedia , lookup
Concurrency control wikipedia , lookup
Oracle Database wikipedia , lookup
Entity–attribute–value model wikipedia , lookup
Extensible Storage Engine wikipedia , lookup
Microsoft Access wikipedia , lookup
Team Foundation Server wikipedia , lookup
Ingres (database) wikipedia , lookup
Microsoft Jet Database Engine wikipedia , lookup
Clusterpoint wikipedia , lookup
Open Database Connectivity wikipedia , lookup
Database model wikipedia , lookup
Transcript
ASP.NET Programming with C# and SQL Server First Edition Chapter 7 Working with Databases and SQL Server Express Objectives In this chapter, you will: • Study the basics of databases and SQL Server • Work with SQL Server databases • Define database tables • Work with database records ASP.NET Programming with C# and SQL Server, First Edition 2 Introduction to Databases • Database: an ordered collection of information from which a computer program can quickly access information • Information in computer databases is stored in tables similar to spreadsheets • Record: a single complete set of related information • Field: an individual category of information stored in a record ASP.NET Programming with C# and SQL Server, First Edition 3 Introduction to Databases (cont’d.) Figure 7-1 Employee directory database ASP.NET Programming with C# and SQL Server, First Edition 4 Introduction to Databases (cont’d.) • Flat-file database: stores information in a single table – Useful for simple collections of information • Relational database: stores information across multiple related tables – Better for large and complex databases ASP.NET Programming with C# and SQL Server, First Edition 5 Understanding Relational Databases • Relational databases consist of one or more related tables • Primary table: the main table in a relationship that is referenced by another table • Related (or child) table: references a primary table in a relational database • Tables in a relationship are connected using primary and foreign keys – Primary and foreign keys link records across multiple tables ASP.NET Programming with C# and SQL Server, First Edition 6 Understanding Relational Databases (cont’d.) • Primary key: a field that uniquely identifies a record in a table • Foreign key: a field in a related table that refers to the primary key in a primary table • Index: a field that identifies records in a database to make retrievals and sorting faster – Primary key is a type of index – Index may consist of one field or a combination of multiple fields ASP.NET Programming with C# and SQL Server, First Edition 7 Understanding Relational Databases (cont’d.) • Three basic types of relationships in a relational database: – One-to-one – One-to-many – Many-to-many • One-to-one relationship: there is exactly one record in a related table for each record in the primary table – Used to break information into multiple, logical sets – Information in a one-to-one relationship could be placed within a single table ASP.NET Programming with C# and SQL Server, First Edition 8 Understanding Relational Databases (cont’d.) Figure 7-2 One-to-one relationship ASP.NET Programming with C# and SQL Server, First Edition 9 Understanding Relational Databases (cont’d.) • One-to-many relationship: one record in a primary table has many related records in a related table – Used to eliminate redundant information – Only the primary and foreign keys are duplicated • Normalization: the process of breaking tables into multiple related tables to reduce redundant and duplicate information – Reduces the overall size of the database ASP.NET Programming with C# and SQL Server, First Edition 10 Understanding Relational Databases (cont’d.) Figure 7-3 Table with redundant information ASP.NET Programming with C# and SQL Server, First Edition 11 Figure 7-4 One-to-many relationship ASP.NET Programming with C# and SQL Server, First Edition 12 Understanding Relational Databases (cont’d.) • Many-to-many relationship: many records in one table are related to many records in another table • Junction table: creates a one-to-many relationship for each of the two tables in a many-to-many relationship – Contains foreign keys from the two tables in the many-to-many relationship ASP.NET Programming with C# and SQL Server, First Edition 13 Figure 7-5 Many-to-many relationship ASP.NET Programming with C# and SQL Server, First Edition 14 Working with Database Management Systems • Database management system (or DBMS): an application or collection of applications used to access and manage a database • Schema: the structure of a database – Includes its tables, fields, and relationships • Flat-file database management system: stores data in a flat-file format • Relational database management system (or RDBMS): stores data in a relational format ASP.NET Programming with C# and SQL Server, First Edition 15 Working with Database Management Systems (cont’d.) • Popular commercial relational database managements systems include: – – – – – Microsoft SQL Server Oracle Sybase Informix Microsoft Access • Popular open source relational database management systems include: – MySQL – PostgresSQL ASP.NET Programming with C# and SQL Server, First Edition 16 Working with Database Management Systems (cont’d.) • Functions of a DBMS: – – – – – – Creating new database files Allowing users to enter and manipulate data Structuring and preservation of the database file(s) Ensuring that data is stored correctly in tables Ensuring that relationships are enforced Providing authentication and authorization features • Query: a structured set of instructions and criteria for retrieving, adding, modifying, and deleting database information ASP.NET Programming with C# and SQL Server, First Edition 17 Working with Database Management Systems (cont’d.) • Data manipulation language (or DML): a language for creating queries • Structured Query Language (or SQL): supported by most DBMSs for creating queries • Most DBMSs provide an interface to design queries – Must still learn SQL for programmatically accessing a database • Each DBMS creates its own proprietary file types – Most have the ability to import data from other file formats but cannot directly read each other’s files ASP.NET Programming with C# and SQL Server, First Edition 18 Querying Databases with Structured Query Language • SQL has become an official standard for querying databases • SQL statements are composed of keywords that perform actions on a database • SELECT statement returns data from the database ASP.NET Programming with C# and SQL Server, First Edition 19 Querying Databases with Structured Query Language (cont’d.) Table 7-1 Common SQL keywords ASP.NET Programming with C# and SQL Server, First Edition 20 Getting Started with SQL Server • Microsoft SQL Server Management Studio Express: a graphic tool for manipulating SQL Server databases • New Query window: used to execute SQL commands • SQL Server Query Designer: a graphic tool for creating queries in a graphical environment – Can drag fields from table objects or can center SQL commands directly ASP.NET Programming with C# and SQL Server, First Edition 21 Getting Started with SQL Server (cont’d.) Figure 7-6 Microsoft SQL Server Management Studio Express ASP.NET Programming with C# and SQL Server, First Edition 22 Getting Started with SQL Server (cont’d.) Figure 7-7 Query window in SQL Server Management Studio Express ASP.NET Programming with C# and SQL Server, First Edition 23 Getting Started with SQL Server (cont’d.) Figure 7-8 Query Designer in SQL Server Management Studio Express ASP.NET Programming with C# and SQL Server, First Edition 24 Installing SQL Server 2008 Management Studio Express • To install SQL Server Management Studio Express: – Download the installation package from Microsoft’s Web site – Start the installation package that you downloaded – Select Installation link – Select New SQL Server stand-alone installation or add features to an existing installation link – Follow the rest of the on-screen instructions to complete the installation ASP.NET Programming with C# and SQL Server, First Edition 25 Working with the SQL Server Management Studio Express • Query window allows you to enter SQL commands – Does not have a graphical interface • SQL commands must be terminated with a semicolon – If no semicolon, the query window assumes you want to enter more SQL statements • From the Query menu, select Execute to execute the SQL commands in the query window • Results window displays the results of executing the SQL commands ASP.NET Programming with C# and SQL Server, First Edition 26 Figure 7-9 Results window showing results of a SQL query ASP.NET Programming with C# and SQL Server, First Edition 27 Working with the SQL Server Management Studio Express (cont’d.) Figure 7-10 Output from a multiline SQL command ASP.NET Programming with C# and SQL Server, First Edition 28 Understanding SQL Server Identifiers • You must define identifiers (names) for databases, tables, fields, and indexes • Two types of identifiers: – Regular identifiers: must begin with a letter, underscore (_), number sign (#) or at sign (@) – Delimited identifiers: enclosed by double quotations (“”) or brackets ([]), and may contain spaces or other characters not allowed in regular identifiers ASP.NET Programming with C# and SQL Server, First Edition 29 Understanding SQL Server Identifiers (cont’d.) • To use SQL Server Management Studio Express, you must connect to a server • Instance: refers to a single SQL Server database – An installation of SQL Server can have many instances – Default instance is named SQLEXPRESS • Authentication types: – Windows Authentication – SQL Server Authentication ASP.NET Programming with C# and SQL Server, First Edition 30 Understanding SQL Server Identifiers (cont’d.) Figure 7-11 Connect to Server dialog box ASP.NET Programming with C# and SQL Server, First Edition 31 Working with SQL Server Databases • The basics of working with databases in SQL Server include: – – – – – Creating databases Deleting databases Specifying field data types Creating tables Deleting tables ASP.NET Programming with C# and SQL Server, First Edition 32 Creating Databases • Use the CREATE DATABASE statement to create a new database • Syntax: CREATE DATABASE databaseName; – databaseName must be unique • New databases are created with a file extension of .mds • Can specify the location for the database using the FILENAME keyword • Must define tables and fields after creating the database ASP.NET Programming with C# and SQL Server, First Edition 33 Deleting Databases • Use the DROP DATABASE statement to delete a database – This removes all tables from the database and deletes the database itself • Syntax: DROP DATABASE databaseName; ASP.NET Programming with C# and SQL Server, First Edition 34 Specifying Field Data Types • Fields in a database store data according to type – Data type determines the amount of memory and storage space required for the field • SQL Server includes numeric, string, monetary, and date/time data types • Choose the smallest data type possible for each field ASP.NET Programming with C# and SQL Server, First Edition 35 Table 7-2 Common SQL Server data types ASP.NET Programming with C# and SQL Server, First Edition 36 Creating Tables • Use the CREATE TABLE statement to specify the table, the column names, and the data type for each column • Syntax: CREATE TABLE tableName (columnName Type, …); • Column names must be unique within a table • Table names must be unique with the database • Must select the database with the USE database statement first to use it in a query window ASP.NET Programming with C# and SQL Server, First Edition 37 Deleting Tables • Use the DROP TABLE statement to remove all data from a table and delete the table definition • Syntax: DROP TABLE tableName; ASP.NET Programming with C# and SQL Server, First Edition 38 Working with Records • Working with records includes: – Adding records to a table – Modifying existing records in a table – Deleting existing records in a table ASP.NET Programming with C# and SQL Server, First Edition 39 Adding Records • Use the INSERT statement to add a single new record to a table • Syntax: INSERT INTO tableName VALUES (value1,value2,…); • Text values are enclosed within single quotations • Values in the VALUES list must be in the same order in which the fields are defined in the table – Specify NULL in any fields for which you do not have a value ASP.NET Programming with C# and SQL Server, First Edition 40 Adding Records (cont’d.) • Use the BULK INSERT statement with a local text file to add multiple records to an existing database • Syntax: BULK INSERT tableName FROM ‘filePath’; • Each record in the text file should be on a separate line with tabs between each field – Leave empty fields blank • Values on each line must be in the same order as the fields are defined in the table ASP.NET Programming with C# and SQL Server, First Edition 41 Adding Records (cont’d.) Figure 7-12 Results window after adding records to the outlook table in the forecast database ASP.NET Programming with C# and SQL Server, First Edition 42 Retrieving Records • Use a SELECT statement to retrieve records from a table • Syntax: SELECT criteria FROM tableName; • Use * to select all fields, or list individual field names separated by commas ASP.NET Programming with C# and SQL Server, First Edition 43 Retrieving Records (cont’d.) Figure 7-13 Individual fields returned with a SELECT statement ASP.NET Programming with C# and SQL Server, First Edition 44 Sorting Query Results • Use the ORDER BY keyword with the SELECT statement to sort results alphanumerically • Syntax: SELECT criteria FROM tableName ORDER BY fieldName; • Add the DESC keyword to sort in reverse (in descending order) ASP.NET Programming with C# and SQL Server, First Edition 45 Sorting Query Results (cont’d.) Figure 7-14 Results returned from inventory table of the skateboards database sorted by price ASP.NET Programming with C# and SQL Server, First Edition 46 Sorting Query Results (cont’d.) Figure 7-15 Results returned from inventory table of the skateboards database reverse sorted by price ASP.NET Programming with C# and SQL Server, First Edition 47 Filtering Query Results • Use the criteria portion of the SELECT statement to determine which fields to retrieve from a table • Use the WHERE keyword to specify which records to return • Syntax: SELECT criteria FROM tableName WHERE condition; • Can use AND and OR keywords to specify more detailed conditions in the WHERE clause ASP.NET Programming with C# and SQL Server, First Edition 48 Filtering Query Results (cont’d.) Figure 7-16 Results returned from the inventory table of the skateboards database where price is less than 100 ASP.NET Programming with C# and SQL Server, First Edition 49 Filtering Query Results (cont’d.) Figure 7-17 Results returned from the inventory table of the skateboards database where price is greater than 100 and length is less than 30 ASP.NET Programming with C# and SQL Server, First Edition 50 Filtering Query Results (cont’d.) Figure 7-18 Results returned from the inventory table of the skateboards database where price is greater than 100 or length is less than 30 ASP.NET Programming with C# and SQL Server, First Edition 51 Updating Records • Use the UPDATE statement to update existing records in a table • Syntax: UPDATE tableName SET columnName=value WHERE condition; • Must use a WHERE condition to specify which record to update ASP.NET Programming with C# and SQL Server, First Edition 52 Deleting Records • Use the DELETE statement to delete existing records in a table • Syntax: DELETE FROM tableName WHERE condition; • Must use the WHERE clause to specify which record(s) to delete ASP.NET Programming with C# and SQL Server, First Edition 53 Summary • A database is an ordered collection of information from which a computer program can quickly access information • A record is a single complete set of related information • Fields are individual categories of information stored in a record • Flat-file database stores information in a single table • Relational database stores information across multiple tables ASP.NET Programming with C# and SQL Server, First Edition 54 Summary (cont’d.) • A query is a structured set of instructions and criteria for retrieving, adding, modifying, and deleting database information • Structured Query Language (SQL) has become a standard data manipulation language for many database management systems • Microsoft SQL Server Management Studio Express is a graphic tool for manipulating a SQL Server database • Regular identifiers begin with a letter, underscore, number sign, or at sign ASP.NET Programming with C# and SQL Server, First Edition 55 Summary (cont’d.) • Delimited identifiers allow spaces and other characters, enclosed within double quotations or brackets • Use the USE statement to select a database to work with • Use the CREATE DATABASE statement to create a new database • Use the DROP DATABASE statement to delete a database • Choose the smallest data type possible for each field in a table ASP.NET Programming with C# and SQL Server, First Edition 56 Summary (cont’d.) • Use the CREATE TABLE statement to create a new table and specify the column names and data types • Use the DROP TABLE statement to delete a table • Use the INSERT statement to add a single record to a table • Use the BULK INSERT statement to add multiple records to a table from a local text file • Use the SELECT statement to retrieve records from a table ASP.NET Programming with C# and SQL Server, First Edition 57 Summary (cont’d.) • Use the ORDER BY keyword in a SELECT statement to sort the results returned by a query • Use the WHERE keyword to specify which records to return from a database • Use the UPDATE statement to update records in a table • Use the DELETE statement to delete records in a table ASP.NET Programming with C# and SQL Server, First Edition 58