chapter 4 sql. sql server microsoft sql server is a client/server database management system....
TRANSCRIPT
Chapter 4Chapter 4
SQLSQL
SQL serverSQL server
Microsoft SQL Server is a client/server Microsoft SQL Server is a client/server database management system.database management system.
A client/server database management A client/server database management system consists of two components:system consists of two components: AA front-end front-end component (the client), which is component (the client), which is
used to present and manipulate data; used to present and manipulate data; AA backend backend component (the database component (the database
server), which is used to store, retrieve, and server), which is used to store, retrieve, and protectprotect the databases.the databases.
Components of SQL Components of SQL ServerServer
The commands you primarily use to query a database The commands you primarily use to query a database on a database server areon a database server are
part of the part of the Structured Query Language (SQL).Structured Query Language (SQL). The Structured Query Language isThe Structured Query Language is a standardized set a standardized set
of commands used to work with databases.of commands used to work with databases. Microsoft SQLMicrosoft SQL Server 2000 supports an enhanced Server 2000 supports an enhanced
version of SQL referred to as version of SQL referred to as Transact-SQLTransact-SQL Transact-SQL commands Transact-SQL commands used used to create, maintain, to create, maintain,
and query databasesand query databases MicrosoftMicrosoft SQL Server supports the most recently published SQL Server supports the most recently published
standards for ANSI SQL. Sometimesstandards for ANSI SQL. Sometimes,, the version the version of SQL of SQL implemented in SQL Server referred to as SQL-92.implemented in SQL Server referred to as SQL-92.
Transact-SQLTransact-SQL
Data Definition Language (DDL) statements, Data Definition Language (DDL) statements, which enable you to createwhich enable you to create database objects.database objects.
Data Manipulation Language (DML) Data Manipulation Language (DML) statements, which enable you to querystatements, which enable you to query or or modify data.modify data.
Data Control Language (DCL) statements, Data Control Language (DCL) statements, which enable you to determine,set, or revoke which enable you to determine,set, or revoke users’ permissions to SQL databases and users’ permissions to SQL databases and their objectstheir objects
Microsoft SQL Server 2000 supports Microsoft SQL Server 2000 supports two login authenticationtwo login authentication modesmodes : :
Windows Authentication modeWindows Authentication mode Mixed modeMixed mode
DatabaseDatabase MasterMaster – – Information about the operation of SQL Information about the operation of SQL
Server,including user accounts,Server,including user accounts, other SQL other SQL servers,environment variables,error servers,environment variables,error messages,databases,messages,databases, storage space allocated to storage space allocated to databases,and the tapes and disk drives on thedatabases,and the tapes and disk drives on the SQL SQL server.server.
ModelModel – – A template for creating new databases. SQL A template for creating new databases. SQL Server automatically copiesServer automatically copies the objects in this the objects in this database to each new database you create.database to each new database you create.
MsdbMsdb – – Information about all scheduled jobs,defined Information about all scheduled jobs,defined alerts,and operators on youralerts,and operators on your server. This information server. This information is used by the SQL Server Agent service.is used by the SQL Server Agent service.
TempdbTempdb – –Temporary information. This database is Temporary information. This database is used as a scratchpad by SQLused as a scratchpad by SQL Server.Server.
NorthwindNorthwind, , pubspubs – – A sample database for learning A sample database for learning SQL Server.SQL Server.
Components of SQL Components of SQL ServerServer
The SQL Server ServicesThe SQL Server Services
SQL Server Enterprise SQL Server Enterprise ManagerManager
can also create your owncan also create your own server groups server groups to organize your SQL serversto organize your SQL servers
SQL Query AnalyzerSQL Query Analyzer
UUse SQL Query Analyzer to run SQL se SQL Query Analyzer to run SQL queries as well as to optimize the queries as well as to optimize the performanceperformance of the queries.of the queries.
A query is simply a command you A query is simply a command you send to your server. This query can send to your server. This query can request data from the server, change request data from the server, change data, or delete information.data, or delete information.
SQL Query AnalyzerSQL Query Analyzer
Using SQL Query Using SQL Query AnalyzerAnalyzer
SQL Server Database SQL Server Database StructureStructure
the term the term database database refers to a collection of refers to a collection of tables and othertables and other database objects such as database objects such as indexesindexes
A A table table consists of rows and columns; theseconsists of rows and columns; these rows and columns contain the data for the rows and columns contain the data for the table.table.
A database can contain a virtuallyA database can contain a virtually unlimited unlimited number of tables; each table can contain a number of tables; each table can contain a maximum of 1,024maximum of 1,024 columns (fields).columns (fields).
Designing andDesigning andImplementing DatabasesImplementing Databases
To design, create, and manage To design, create, and manage databasesdatabases::
Identify the issues for designing Identify the issues for designing databasesdatabases
Create and configure databasesCreate and configure databases Manage databasesManage databases
Identifying Database Identifying Database Design IssuesDesign Issues
Databases andDatabases and FilesFiles:: A database is a collection of database A database is a collection of database
objects; these objects include tables,objects; these objects include tables, indexes, views, and stored procedures.indexes, views, and stored procedures.
At a minimum, each database consists of aAt a minimum, each database consists of a primary data file with an extension of .mdf.primary data file with an extension of .mdf.
In addition to its primary data file,you can In addition to its primary data file,you can optionally configure SQL Server to store a optionally configure SQL Server to store a database in a secondary datadatabase in a secondary data file. These file. These files use the extension of .ndf.files use the extension of .ndf.
Identifying Database Identifying Database Design IssuesDesign Issues
Transaction LogsTransaction Logs::In addition to a In addition to a database’s primary data file, you must also database’s primary data file, you must also create a transactioncreate a transaction log for each database.log for each database.
SQL ServerSQL Server automatically assigns the automatically assigns the extension of .ldf to each transaction log file.extension of .ldf to each transaction log file.
SQL Server uses the transactionSQL Server uses the transaction log to make log to make it possible to either recover (roll forward) or it possible to either recover (roll forward) or undo (roll back) aundo (roll back) a transactiontransaction to protect your to protect your database from corruption in the event of a database from corruption in the event of a serverserver crash..crash..
FileFile groupsgroups
When create a database, SQL Server When create a database, SQL Server automatically creates a default automatically creates a default filegroupfilegroup that contains your that contains your database’s primary data filedatabase’s primary data file
SQL Server uses disk space in 8 KB SQL Server uses disk space in 8 KB pagespages.. SQL Server uses some pages to keepSQL Server uses some pages to keep track of track of
the space allocated within a databasethe space allocated within a database Within a database, SQL Server allocates space Within a database, SQL Server allocates space
for database objectsfor database objects such as tables and indexes such as tables and indexes in extentsin extents..
An An extent extent is a contiguous block of eightis a contiguous block of eight pages pages for a total of 64 KB of disk spacefor a total of 64 KB of disk space..
A database consistsA database consists of 16 extents per of 16 extents per megabyte.megabyte.
Creating DatabasesCreating Databases
CCreate a database by usingreate a database by using:: the CREATE DATABASEthe CREATE DATABASE Transact-SQL Transact-SQL
statementstatement.. the Create Database Wizardthe Create Database Wizard.. SQL Server EnterpriseSQL Server Enterprise ManagerManager
Using Using the Create Database the Create Database WizardWizard
Creating a Database Using Creating a Database Using Transact-SQLTransact-SQL
CREATE DATABASE logical_database_nameCREATE DATABASE logical_database_nameONON
PRIMARY (NAME = logical_file_name,PRIMARY (NAME = logical_file_name,FILENAME = 'path\file_name',FILENAME = 'path\file_name',SIZE = size,SIZE = size,MAXSIZE = maxsize,MAXSIZE = maxsize,FILEGROWTH = filegrowth_increment)FILEGROWTH = filegrowth_increment)
LOG ONLOG ON(NAME = logical_file_name,(NAME = logical_file_name,FILENAME = 'path\file_name',FILENAME = 'path\file_name',SIZE = size,SIZE = size,MAXSIZE = maxsize,MAXSIZE = maxsize,FILEGROWTH = filegrowth_increment)FILEGROWTH = filegrowth_increment)
Creating a Database Using Creating a Database Using Transact-SQLTransact-SQL
CREATE DATABASE SalesDb ON (NAME = SalesDb_dat, FILENAME = 'c:\data\salesDB_dat.mdf', SIZE = 10, MAXSIZE = 50, FILEGROWTH = 5) LOG ON (NAME = 'SalesDb_log', FILENAME = 'c:\data\salesDB_log.ldf', SIZE = 5MB, MAXSIZE = 25MB, FILEGROWTH = 10%) GO
Creating a Database Using Creating a Database Using Transact-SQLTransact-SQL
Creating Filegroup CREATE DATABASE logical_database_name ON PRIMARY (NAME = logical_file_name, FILENAME = 'path\file_name.mdf', SIZE = size, MAXSIZE = maxsize, FILEGROWTH = filegrowth_increment) FILEGROUP filegroup_name (NAME = logical_file_name, FILENAME = 'path\file_name.ndf', SIZE = size, MAXSIZE = maxsize, FILEGROWTH = filegrowth_increment) LOG ON (NAME = logical_file_name, FILENAME = 'path\file_name', SIZE = size, MAXSIZE = maxsize, FILEGROWTH = filegrowth_increment)
ALTER DATABASE
Adding Filegroups to an Existing DatabaseALTER DATABASE logical_database_nameADD FILEGROUP new_filegroup_name
Adding FilesALTER DATABASE logical_database_nameADD FILE(NAME = logical_file_name,FILENAME = 'path\file_name.ndf',SIZE = size,MAXSIZE = maxsize,FILEGROWTH = filegrowth_increment)TO FILEGROUP filegroup_name
ALTER DATABASE
Configuring Database OptionsALTER DATABASE database_nameSET option[, status]
ALTER DATABASE moviesSET READ_ONLY
ALTER DATABASE
Expanding a Database and its Transaction LogALTER DATABASE database_nameMODIFY FILE(NAME = 'logical_name',SIZE = size,MAXSIZE = maxsize,FILEGROWTH = filegrowth_increment) support unrestricted file growth by using the
clause MAXSIZE = UNLIMITED
Deleting a Database
DROP DATABASE database_name.
UsingUsing SQL Server Enterprise SQL Server Enterprise ManagerManager