ebook img

Introducing SQL Server PDF

397 Pages·2015·20.991 MB·English
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Introducing SQL Server

® BOOKS FOR PROFESSIONALS BY PROFESSIONALS McQuillan Introducing SQL Server RELATED Introducing SQL Server is a fast and easy introduction to SQL Server and the world of relational databases. You’ll learn how databases work and how to use the T-SQL language by practicing on one of the most widely-used and powerful database engines in the corporate world: Microsoft SQL Server. Do you quake at the sight of a SELECT statement? Start to shiver when people start talking about tables and rows? Fear not, Introducing SQL Server is here to rescue you. The book focuses on the knowledge and skills needed to begin your journey toward becoming a solid and competent SQL Server professional and database programmer. You’ll learn the core concepts of SQL Server, from installing the software to executing and profiling queries. Introducing SQL Server is aimed at SQL Server newcomers as well as at those wanting to improve their database skills. You’ll put a comprehensive database together as you work through the book. You will create tables and learn to use constraints; create reusable functions and stored procedures; and even learn how indexes work and what they bring in terms of increased performance. Introducing SQL Server shows you that databases don’t need to be difficult. • Teaches you how to build a SQL Server database from scratch • Takes a tutorial-based approach, with each chapter building on the last • Covers what you need to know for common SQL Server development tasks ISBN 978-1-4842-1420-6 Shelve in: 53999 Databases/MS SQL Server User level: Beginning–Intermediate SOURCE CODE ONLINE 9781484214206 www.apress.com www.it-ebooks.info Introducing SQL Server Mike McQuillan www.it-ebooks.info Introducing SQL Server Copyright © 2015 by Mike McQuillan This work is subject to copyright. All rights are reserved by the Publisher, whether the whole or part of the material is concerned, specifically the rights of translation, reprinting, reuse of illustrations, recitation, broadcasting, reproduction on microfilms or in any other physical way, and transmission or information storage and retrieval, electronic adaptation, computer software, or by similar or dissimilar methodology now known or hereafter developed. Exempted from this legal reservation are brief excerpts in connection with reviews or scholarly analysis or material supplied specifically for the purpose of being entered and executed on a computer system, for exclusive use by the purchaser of the work. Duplication of this publication or parts thereof is permitted only under the provisions of the Copyright Law of the Publisher’s location, in its current version, and permission for use must always be obtained from Springer. Permissions for use may be obtained through RightsLink at the Copyright Clearance Center. Violations are liable to prosecution under the respective Copyright Law. ISBN-13 (pbk): 978-1-4842-1420-6 ISBN-13 (electronic): 978-1-4842-1419-0 Trademarked names, logos, and images may appear in this book. Rather than use a trademark symbol with every occurrence of a trademarked name, logo, or image we use the names, logos, and images only in an editorial fashion and to the benefit of the trademark owner, with no intention of infringement of the trademark. The use in this publication of trade names, trademarks, service marks, and similar terms, even if they are not identified as such, is not to be taken as an expression of opinion as to whether or not they are subject to proprietary rights. While the advice and information in this book are believed to be true and accurate at the date of publication, neither the authors nor the editors nor the publisher can accept any legal responsibility for any errors or omissions that may be made. The publisher makes no warranty, express or implied, with respect to the material contained herein. Managing Director: Welmoed Spahr Lead Editor: Jonathan Gennick Technical Reviewer: Bradley Beard Editorial Board: Steve Anglin, Mark Beckner, Gary Cornell, Louise Corrigan, Jim DeWolf, Jonathan Gennick, Robert Hutchinson, Michelle Lowman, James Markham, Susan McDermott, Matthew Moodie, Jeffrey Pepper, Douglas Pundick, Ben Renow-Clarke, Gwenan Spearing, Matt Wade, Steve Weiss Coordinating Editor: Jill Balzano Copy Editor: James Fraleigh Compositor: SPi Global Indexer: SPi Global Artist: SPi Global Cover Designer: Anna Ishchenko Distributed to the book trade worldwide by Springer Science+Business Media New York, 233 Spring Street, 6th Floor, New York, NY 10013. Phone 1-800-SPRINGER, fax (201) 348-4505, e-mail [email protected], or visit www.springeronline.com. Apress Media, LLC is a California LLC and the sole member (owner) is Springer Science + Business Media Finance Inc (SSBM Finance Inc). SSBM Finance Inc is a Delaware corporation. For information on translations, please e-mail [email protected], or visit www.apress.com. Apress and friends of ED books may be purchased in bulk for academic, corporate, or promotional use. eBook versions and licenses are also available for most titles. For more information, reference our Special Bulk Sales–eBook Licensing web page at www.apress.com/bulk-sales. Any source code or other supplementary material referenced by the author in this text is available to readers at www.apress.com. For detailed information about how to locate your book’s source code, go to www.apress.com/source-code/. www.it-ebooks.info For Jo & Grace, thank you for supporting me. www.it-ebooks.info Contents at a Glance About the Author ����������������������������������������������������������������������������������������������������xix About the Technical Reviewer ��������������������������������������������������������������������������������xxi Acknowledgments ������������������������������������������������������������������������������������������������xxiii ■ Chapter 1: What Is SQL Server? �����������������������������������������������������������������������������1 ■ Chapter 2: Obtaining and Installing SQL Server ����������������������������������������������������7 ■ Chapter 3: Database Basics ���������������������������������������������������������������������������������33 ■ Chapter 4: Tables �������������������������������������������������������������������������������������������������53 ■ Chapter 5: Putting Good Tables Together�������������������������������������������������������������71 ■ Chapter 6: Automating Deployment with SQLCMD ����������������������������������������������97 ■ Chapter 7: NULLs and Table Constraints ������������������������������������������������������������107 ■ Chapter 8: DML (or Inserts, Updates, and Deletes) ��������������������������������������������129 ■ Chapter 9: Bulk Inserting Data ��������������������������������������������������������������������������143 ■ Chapter 10: Creating Data Import Scripts ���������������������������������������������������������163 ■ Chapter 11: The SELECT Statement �������������������������������������������������������������������177 ■ Chapter 12: Joining Tables ��������������������������������������������������������������������������������193 ■ Chapter 13: Views ���������������������������������������������������������������������������������������������223 ■ Chapter 14: Indexes �������������������������������������������������������������������������������������������235 ■ Chapter 15: Transactions �����������������������������������������������������������������������������������265 ■ Chapter 16: Functions ���������������������������������������������������������������������������������������283 v www.it-ebooks.info ■ Contents at a GlanCe ■ Chapter 17: Table-Valued Functions ������������������������������������������������������������������305 ■ Chapter 18: Stored Procedures—Part 1 ������������������������������������������������������������319 ■ Chapter 19: Stored Procedures—Part 2 ������������������������������������������������������������337 ■ Chapter 20: Bits and Pieces ������������������������������������������������������������������������������349 ■ Appendix A: SQL Data Types ������������������������������������������������������������������������������369 ■ Appendix B: Glossary�����������������������������������������������������������������������������������������373 ■ Appendix C: Common SQL Server System Objects ��������������������������������������������377 ■ Appendix D: Exercises ���������������������������������������������������������������������������������������381 Index ���������������������������������������������������������������������������������������������������������������������383 vi www.it-ebooks.info Contents About the Author ����������������������������������������������������������������������������������������������������xix About the Technical Reviewer ��������������������������������������������������������������������������������xxi Acknowledgments ������������������������������������������������������������������������������������������������xxiii ■ Chapter 1: What Is SQL Server? �����������������������������������������������������������������������������1 A Quick History of SQL Server ������������������������������������������������������������������������������������������1 SQL Server Services ���������������������������������������������������������������������������������������������������������2 Business Intelligence Services ���������������������������������������������������������������������������������������������������������������3 Editions of SQL Server ������������������������������������������������������������������������������������������������������4 SQL Server Tools and Utilities ������������������������������������������������������������������������������������������4 Time to Kick Off ����������������������������������������������������������������������������������������������������������������5 ■ Chapter 2: Obtaining and Installing SQL Server ����������������������������������������������������7 Downloading SQL Server Express ������������������������������������������������������������������������������������7 Beginning Installation �������������������������������������������������������������������������������������������������������8 Installation Wizard Steps ������������������������������������������������������������������������������������������������10 Updates and Features ����������������������������������������������������������������������������������������������������11 Instance Features ���������������������������������������������������������������������������������������������������������������������������������12 Shared Features �����������������������������������������������������������������������������������������������������������������������������������13 Database Instances ��������������������������������������������������������������������������������������������������������15 Default Instances ����������������������������������������������������������������������������������������������������������������������������������16 Named Instances ����������������������������������������������������������������������������������������������������������������������������������16 The Instance Configuration Page �����������������������������������������������������������������������������������17 Service Accounts ������������������������������������������������������������������������������������������������������������17 vii www.it-ebooks.info ■ Contents Collation �������������������������������������������������������������������������������������������������������������������������19 Database Engine Configuration ��������������������������������������������������������������������������������������22 Server Configuration �����������������������������������������������������������������������������������������������������������������������������22 Data Directories ������������������������������������������������������������������������������������������������������������������������������������23 User Instances ��������������������������������������������������������������������������������������������������������������������������������������25 FILESTREAM �����������������������������������������������������������������������������������������������������������������������������������������25 Reporting Services Configuration �����������������������������������������������������������������������������������26 Installing �������������������������������������������������������������������������������������������������������������������������27 A Very Quick SSMS Overview �����������������������������������������������������������������������������������������29 Summary ������������������������������������������������������������������������������������������������������������������������32 ■ Chapter 3: Database Basics ���������������������������������������������������������������������������������33 What Is a Database?�������������������������������������������������������������������������������������������������������33 Types of Databases ��������������������������������������������������������������������������������������������������������33 System Databases ��������������������������������������������������������������������������������������������������������������������������������34 User Databases�������������������������������������������������������������������������������������������������������������������������������������35 Creating a Database Using SSMS ����������������������������������������������������������������������������������35 Dropping a Database Using SSMS ���������������������������������������������������������������������������������40 Creating a Database Using T-SQL �����������������������������������������������������������������������������������41 Dropping A Database Using T-SQL ����������������������������������������������������������������������������������47 Advanced Database Scripting ����������������������������������������������������������������������������������������48 Creating Scripts Automatically ���������������������������������������������������������������������������������������48 Database Properties �������������������������������������������������������������������������������������������������������50 Summary ������������������������������������������������������������������������������������������������������������������������51 ■ Chapter 4: Tables �������������������������������������������������������������������������������������������������53 Table Basics �������������������������������������������������������������������������������������������������������������������53 A Starting Point ��������������������������������������������������������������������������������������������������������������54 Naming Tables ����������������������������������������������������������������������������������������������������������������58 Types Of Table ����������������������������������������������������������������������������������������������������������������58 viii www.it-ebooks.info ■ Contents Columns and Table Data Types ���������������������������������������������������������������������������������������59 Primary Keys ������������������������������������������������������������������������������������������������������������������60 Clustered and Nonclustered Keys ����������������������������������������������������������������������������������63 Foreign Keys and Relationships �������������������������������������������������������������������������������������64 IDENTITY Columns ����������������������������������������������������������������������������������������������������������67 Summary ������������������������������������������������������������������������������������������������������������������������69 ■ Chapter 5: Putting Good Tables Together�������������������������������������������������������������71 Database Normalization �������������������������������������������������������������������������������������������������71 First Normal Form���������������������������������������������������������������������������������������������������������������������������������71 Multiple-Column Repeating Groups ������������������������������������������������������������������������������������������������������75 Second Normal Form ����������������������������������������������������������������������������������������������������������������������������84 Third Normal Form �������������������������������������������������������������������������������������������������������������������������������88 Further Analysis �������������������������������������������������������������������������������������������������������������89 Looking Things Over �������������������������������������������������������������������������������������������������������92 A Second Enhancement �������������������������������������������������������������������������������������������������93 Summary ������������������������������������������������������������������������������������������������������������������������95 ■ Chapter 6: Automating Deployment with SQLCMD ����������������������������������������������97 What Is SQLCMD? �����������������������������������������������������������������������������������������������������������97 Why We Need a SQLCMD Script �������������������������������������������������������������������������������������97 Rollback Scripts �������������������������������������������������������������������������������������������������������������98 Creating the SQLCMD Rollback Script ��������������������������������������������������������������������������101 Creating the SQLCMD Apply Script �������������������������������������������������������������������������������104 Summary ����������������������������������������������������������������������������������������������������������������������106 ■ Chapter 7: NULLs and Table Constraints ������������������������������������������������������������107 NULL Constraints ����������������������������������������������������������������������������������������������������������107 Constraints �������������������������������������������������������������������������������������������������������������������112 Default Constraints �����������������������������������������������������������������������������������������������������������������������������113 Creating a Default Constraint �������������������������������������������������������������������������������������������������������������113 Table Constraints Part 1—Check Constraints ������������������������������������������������������������������������������������115 ix www.it-ebooks.info ■ Contents Creating a Table Constraint �����������������������������������������������������������������������������������������������������������������116 Creating a Column Constraint �������������������������������������������������������������������������������������������������������������121 Table Constraints Part 2—Unique Constraints �����������������������������������������������������������������������������������124 Some Constraints Are Really Indexes �������������������������������������������������������������������������������������������������127 Summary ����������������������������������������������������������������������������������������������������������������������128 ■ Chapter 8: DML (or Inserts, Updates, and Deletes) ��������������������������������������������129 Reference Data vs� Real Data ���������������������������������������������������������������������������������������129 Inserting Data ���������������������������������������������������������������������������������������������������������������130 More Inserts �����������������������������������������������������������������������������������������������������������������136 The UPDATE Statement ������������������������������������������������������������������������������������������������137 Deleting Records ����������������������������������������������������������������������������������������������������������139 Summary ����������������������������������������������������������������������������������������������������������������������141 ■ Chapter 9: Bulk Inserting Data ��������������������������������������������������������������������������143 The BULK INSERT Statement ����������������������������������������������������������������������������������������143 Preparing the Data File �����������������������������������������������������������������������������������������������������������������������143 Importing the Data File �����������������������������������������������������������������������������������������������������������������������147 More Bulk Insert Escapades �����������������������������������������������������������������������������������������151 Truncating Tables ���������������������������������������������������������������������������������������������������������157 Summary ����������������������������������������������������������������������������������������������������������������������162 ■ Chapter 10: Creating Data Import Scripts ���������������������������������������������������������163 Purpose of the Import Script ����������������������������������������������������������������������������������������163 Starting the Script with Variables ���������������������������������������������������������������������������������163 Reference Data Lookups ����������������������������������������������������������������������������������������������164 Inserting the Contact Record ����������������������������������������������������������������������������������������166 Adding Subrecords �������������������������������������������������������������������������������������������������������168 Displaying the Outcome �����������������������������������������������������������������������������������������������170 The Rollback Script ������������������������������������������������������������������������������������������������������174 Summary ����������������������������������������������������������������������������������������������������������������������176 x www.it-ebooks.info

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.