1. Trang chủ
  2. » Công Nghệ Thông Tin

practical database programming with visual basic.net 2nd edition

893 522 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Practical Database Programming with Visual Basic.NET
Tác giả Ying Bai
Trường học Johnson C. Smith University
Chuyên ngành Computer Science
Thể loại Sách hướng dẫn thực hành
Năm xuất bản 2012
Thành phố Charlotte
Định dạng
Số trang 893
Dung lượng 10,66 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

This book is mainly designed for college students and software programmers who want to develop practical and commercial database programming with Visual Basic.NET and relational database

Trang 1

Practical Database

Programming with Visual

Basic.NET

Trang 2

R Abari M El - Hawary S Nahavandi

Kenneth Moore, Director of IEEE Book and Information Services (BIS)

Trang 3

Department of Computer Science and Engineering

Johnson C Smith University

Charlotte, North Carolina

IEEE PRESS

A John Wiley & Sons, Inc., Publication

Trang 4

Copyright Clearance Center, Inc., 222 Rosewood Drive, Danvers, MA 01923, (978) 8400, fax (978)

750-4470, or on the web at www.copyright.com Requests to the Publisher for permission should be addressed to the Permissions Department, John Wiley & Sons, Inc., 111 River Street, Hoboken, NJ 07030, (201) 748-6011, fax (201) 748-6008, or online at http://www.wiley.com/go/permissions.

Limit of Liability/Disclaimer of Warranty: While the publisher and author have used their best efforts in preparing this book, they make no representations or warranties with respect to the accuracy or completeness of the contents of this book and specifi cally disclaim any implied warranties of merchantability

or fi tness for a particular purpose No warranty may be created or extended by sales representatives or written sales materials The advice and strategies contained herein may not be suitable for your situation You should consult with a professional where appropriate Neither the publisher nor author shall be liable for any loss of profi t or any other commercial damages, including but not limited to special, incidental, consequential,

or other damages.

For general information on our other products and services or for technical support, please contact our Customer Care Department within the United States at (800) 762-2974, outside the United States at (317) 572-3993 or fax (317) 572-4002.

Wiley also publishes its books in a variety of electronic formats Some content that appears in print may not

be available in electronic formats For more information about Wiley products, visit our web site at www.

1 Microsoft Visual BASIC 2 BASIC (Computer program language) 3 Microsoft NET.

4 Database design I Title.

QA76.73.B3B335 2012

2011039947 Printed in United States of America.

10 9 8 7 6 5 4 3 2 1

Trang 5

and my daughter, Xue Bai.

Trang 6

Preface xxv

Acknowledgments xxvii

Trang 7

2.8 Database Components in Some Popular Databases 26

2.8.1.2 Tables 272.8.1.3 Queries 27

2.8.2.2 Tables 292.8.2.3 Views 29

2.10.4.4 Create Relationship between the Student and the

2.10.4.5 Create Relationship between the Course and the

Trang 8

and Student Tables 832.11.6.5 Create the Constraints between the StudentCourse

Homework 88

Trang 9

3.4.7.3 The DataTable Methods 126

Homework 146

Trang 10

4.5.1.4 Query the Cross Tables 186

Trang 11

4.9 Visual Basic.NET Language Enhancement for LINQ 227

5.2.1.2 DataGridView 2475.2.1.3 BindingSource 2485.2.1.4 BindingNavigator 2485.2.1.5 TableAdapter 249

Trang 12

5.15.2 Query Data from the Course Table Using the LINQ to

5.17.1 Procedure of Building a Data-Driven Application Using

5.18.1.3 Coding for Method 1: Using DataSet-TableAdapter

5.19.2.3 Coding for Method 1: Using the TableAdapter

5.19.2.4 Coding for Method 2: Using the DataReader

5.19.4 Query Data Using Runtime Objects

Trang 13

5.19.8 Query Student Data Using Stored Procedures 369

5.20.6 Query Data Using Runtime Objects and LINQ to DataSet for

Homework 413

6.2.5.1 Confi gure the TableAdapter and Build the Data

Method 427

Trang 14

6.2.8.2 Modify the Codes to Perform the Data Insertion Using the Stored

Procedure 436

Trang 15

6.9 Insert Data into the Database Using the LINQ to DataSet Method 486

Homework 489

Part I Data Updating and Deleting with Visual Studio.NET Design

7.2.4.1 Confi gure the TableAdapter and Build the Data

Trang 16

the Imports Command 521

Procedure 522

Procedure 523

Procedure 523

Procedures 528

Trang 17

7.8.3 Update and Delete Data Against Databases Using the LINQ

Homework 555

8.3.10.1 Coding for the Course Page Loading and Ending

8.3.10.3 Coding for the SelectedIndexChanged Event Procedure of the

Trang 18

8.5.3.1 Relationships between Five Tables in Our Sample Database 609

Textbox 639

Procedures 643

Homework 654

Trang 19

Chapter 9 ASP.NET Web Services 657

9.3.10 Build Windows-Based Web Service Clients to Consume

9.3.10.2 Develop the Graphic User Interface for the Windows-Based

9.3.11.2 Add a Web Service Reference and Modify the

Trang 20

9.4.3.1 Develop and Modify the First Web Method SetSQLInsertSP 716

Class 734

SQLUpdataSP 764

GetSQLCourseDetail 768

WebDeleteCourseSP 771

Trang 21

9.7 Build Web-Based Web Service Clients to Consume the Web Services 793

Subroutines 796

Subroutines 807

9.8.5.2 Modifi cations to the Codes in the Web Method

GetSQLSelectSP 814

9.10 Build ASP.NET Web Service Project to Insert Data into

9.10.3 Add Oracle Database Reference and Modify the

9.10.7 Modify the Web Method GetSQLInsertCourse and

9.12 Build ASP.NET Web Service to Update and Delete Data for

9.12.3 Add Oracle Database Reference and Modify the Namespace

Directories 839

Trang 22

9.13 Build Web Service Client Projects to Consume the Web Service 855

Trang 23

D atabases have become an integral part of our modern day life We are an information

driven society Database technology has a direct impact on our daily lives Decisions are

routinely made by organizations based on the information collected and stored in

data-bases A record company may decide to market certain albums in selected regions based

on the music preference of teenagers Grocery stores display more popular items at the

eye level, and reorders are based on the inventories taken at regular intervals Other

examples include patients ’ records in hospitals, customers ’ account information in banks,

book orders by the libraries, club memberships, auto part orders, winter cloth stock by

department stores, and many others

In addition to database management systems, in order to effectively apply and

imple-ment databases in real industrial or commercial systems, a good graphic user interface

(GUI) is needed to allow users to access and manipulate their records or data in

data-bases Visual Basic.NET is an ideal candidate to be selected to provide this GUI

func-tionality Unlike other programming languages, Visual Basic.NET is a kind of language

that has advantages, such as easy - to - learn and easy - to - be - understood with little learning

curves Beginning of Visual Studio.NET 2005, Microsoft integrated a few programming

languages such as Visual C ++ , Visual Basic, C#, and Visual J# into a dynamic model called

.NET Framework that makes Internet and Web programming easy and simple, and any

language integrated in this model can be used to develop professional and effi cient Web

applications that can be used to communicate with others via the Internet ADO.NET

and ASP.NET are two important submodels of NET Framework The former provides

all components, including the Data Providers, DataSet, and DataTable, to access and

manipulate data against different databases The latter provides support to develop Web

applications and Web services in the ASP.NET environment to allow users to exchange

information between clients and servers easily and conveniently

This book is mainly designed for college students and software programmers who

want to develop practical and commercial database programming with Visual Basic.NET

and relational databases, such as Microsoft Access, SQL Server 2008, and Oracle Database

11 g XE The book provides a detailed description about the practical considerations and

applications in database programming with Visual Basic.NET 2010 with authentic

exam-ples and detailed explanations More important, a new writing style is developed and

implemented in this book, combined with real examples, to provide readers with a clear

picture as how to handle the database programming issues in Visual Basic.NET 2010

environment

Trang 24

.NET Framework 4.0, LINQ, ADO.NET 4.0, and ASP.NET 4.0, to enable readers to easily and quickly learn and master advanced techniques in database programming and develop professional and practical database applications

3 A real completed sample database CSE_DEPT with three versions, Microsoft Access 2007,

SQL Server 2008, and Oracle Database 11 g XE, is provided and used for entire book Step

by step, a detailed illustration and description about how to design and build a practical relational database is provided

4 Covered both fundamental and advanced database programming techniques to nience both beginning students and experienced programmers

conve-5 Various actual data providers are discussed and implemented in the sample projects, such

as the SQL Server and Oracle data providers Instead of using the OleDb to access the SQL Server or Oracle databases, the real SQL Server and Oracle data providers are utilized to connect to the Visual Basic.NET 2010 directly to perform data operations

6 Good textbook for college students, and good reference book for programmers, software

engineers, and academic researchers

I sincerely hope that this book can provide useful and practical helps and guides to all readers or users who adopted this book, and I will be more than happy to know that you can develop and build professional and practical database applications with the help

of this book

Y ing B ai

Trang 25

T he fi rst and most special thanks to my wife, Yan Wang I could not fi nish this book

without her sincere encouragement and support

Special thanks to Dr Satish Bhalla, who is the chapter contributor for this book Dr

Bhalla is a specialist in database programming and management, especially in SQL

Server, Oracle, and DB2 Dr Bhalla spent a lot of time to prepare materials for Chapter

2 , and he is deserving of thanks

Many thanks to Senior Editor Taisuke Soda and Associate Editor Mary Hatcher who

made this book available to the public You would not fi nd this book in the market without

their deep perspective and hard work The same thanks are extended to the editorial team

of this book Without their contributions, it is impossible for this book to be published

These thanks should also be extended to the following book reviewers for their

pre-cious opinions to this book:

• Dr Xintao Wu, Associate Professor, Department of Information and Systems, University of

North Carolina at Charlotte

• Dr Xiaohong Yuan, Associate Professor, Department of Computer Science, North Carolina

A & T State University

• Dr Daoxi Xiu, Application Analyst Programmer, North Carolina Administrative Offi ce of

the Courts

• Dr Dali Wang, Associate Professor, Department of Physics and Computer Science,

Christopher Newport University

Last but not least, thanks should be forwarded to all people who supported me to

fi nish this book

Y B

Trang 26

For years, during my teaching database programming and Visual Basic.NET programming

in my college, I found that it was too diffi cult to fi nd a good textbook for this topic, so I

had to combine a few different professional books together as references to teach this

course Most of those books are specially designed for programmers or software

engi-neers, which cover a lot of programming strategies and huge blocks of codes, which is a

terrible headache to college students or beginning programmers who are new to the

Visual Basic.NET and database programming I have to prepare my class presentations

and fi gure out all homework and exercises for my students I dream that one day I could

fi nd a good textbook that is suitable for college students or beginning programmers and

help them to learn and master database programming with Visual Basic.NET easily and

conveniently Finally, I decided that I needed to do something for this dream myself after

waiting for a long time

Another reason for me to have this idea is the job market As you know, most

indus-trial and commercial companies in United States belong to database applications

busi-nesses, such as manufactures, banks, hospitals, and retails Majority of them need

professional people to develop and build database - related applications, but not database

management and design systems To enable our students to become good candidates for

those companies, we need to create a book like this one

Unlike most database programming books in the current market, which discuss and

present database programming techniques with huge blocks of programming codes from

the fi rst page to the last page, this book tries to use a new writing style to show readers,

especially to college students, how to develop professional and practical database

pro-grams in Visual Basic.NET 2010 by using Visual Studio.NET Design Tools and Wizards

related to ADO.NET 4.0, and to apply codes that are autogenerated by using Wizards

By using this new style, the headache caused by using those huge blocks of programming

codes can be removed; instead, a simple and easy way to create database programs using

the Design Tools can be developed to attract students ’ learning interest, and furthermore

to enable students to build professional and practical database programming in more

effi cient and interesting ways

There are so many different database programming books available on the market,

but rarely can you fi nd a book like this one, which implemented a novel writing style to

Practical Database Programming with Visual Basic.NET, Second Edition Ying Bai.

© 2012 the Institute of Electrical and Electronics Engineers, Inc Published 2012 by John Wiley & Sons, Inc.

Trang 27

attract the students ’ learning interests in this topic To meet the needs of some enced or advanced students or software engineers, the book contains two programming methods: the interesting and easy - to - learn fundamental database programming method —Visual Studio.NET Design Tools and Wizards, and advanced database programming method — runtime object method In the second method, all database - related objects are created and applied during or when your project is running by utilizing quite a few blocks

experi-of codes

OUTSTANDING FEATURES ABOUT THIS BOOK

1 A novel writing style is adopted to try to attract students ’ or beginning programmers ’

inter-ests in learning and developing practical database programs, and to avoid the headache caused by using huge blocks of codes in the traditional database programming books

2 Updated database programming tools and components are covered in the book, such as

.NET Framework 4.0, LINQ, ADO.NET 4.0, and ASP.NET 4.0, to enable readers to easily and quickly learn and master advanced techniques in database programming and develop professional and practical database applications

3 A real completed sample database CSE_DEPT with three versions, Microsoft Access 2007,

SQL Server 2008, and Oracle Database 11g XE, is provided and used for the entire book

Step by step, a detailed illustration and description about how to design and build a practical relational database are provided

4 Covered both fundamental and advanced database programming techniques to nience both beginning students and experienced programmers

conve-5 Various actual data providers are discussed and implemented in the sample projects, such

as the SQL Server and Oracle data providers Instead of using the OleDb to access the SQL Server or Oracle databases, the real SQL Server and Oracle data providers are utilized to connect to the Visual Basic.NET 2010 directly to perform data operations

6 Provides homework and teaching materials, and these allow instructors to organize and

prepare their courses easily and rapidly, and enable students to understand what they learned better by doing something themselves

7 Good textbook for college students and good reference book for programmers, software

engineers, and academic researchers

WHO THIS BOOK IS FOR

This book is designed for college students and software programmers who want to develop practical and commercial database programming with Visual Basic.NET and relational databases, such as Microsoft Access, SQL Server 2008, and Oracle Database 11g XE Fundamental knowledge and understanding on Visual Basic.NET and Visual Studio.NET IDE is assumed

WHAT THIS BOOK COVERS

Nine chapters are included in this book The contents of each chapter can be summarized

as below

Trang 28

2008, and Oracle Database 11g XE, are analyzed in detail with some real data tables in our sample database CSE_DEPT

• Chapter 3 provides an introduction to the ADO.NET, which includes the architectures,

organizations, and components of the ADO.NET Detailed discussions and descriptions are provided in this chapter to give readers both fundamental and practical ideas and pictures

in how to use components in ADO.NET to develop professional data - driven applications

Two ADO.NET architectures are discussed to enable users to follow the directions to design and build their preferred projects based on the different organizations of the ADO.NET

Four popular Data Provides, such as OleDb, ODBC, SQL Server, and Oracle, are discussed

in detail The basic ideas and implementation examples of DataTable and DataSet are also analyzed and described with some real coding examples

• Chapter 4 provides a detailed discussion and analysis about the Language Integrated Query

( LINQ ), which includes LINQ to Objects, LINQ to DataSet, LINQ to SQL, LINQ to Entities, and LINQ to XML An introduction to the LINQ general programming guide is provided at the fi rst part in this chapter Some popular interfaces widely used in LINQ, such

as IEnumerable, IEnumerable(Of T), IQueryable and IQueryable(Of T), and Standard Query Operators ( SQO ), including the deferred and nondeferred SQO, are discussed in that part An introduction to LINQ Query is given in the second section in this chapter Following this introduction, a detailed discussion and analysis about the LINQ queries that were implemented for different data sources is provided in detail

• Starting from Chapter 5 , the real database programming techniques with Visual Basic.NET,

such as data selection queries, are provided and discussed Two parts are covered in this chapter: Part I contains the detailed descriptions in how to develop professional data - driven applications with the help of the Visual Studio.NET design tools and wizards with some real projects, and this part contains a lot of hiding codes that are created by Visual Basic.NET automatically when using those design tools and wizards Therefore, the coding for this part

is very simple and easy Part II covers an advanced technique, the runtime object method,

in developing and building professional data - driven applications Detailed discussions and descriptions about how to build professional and practical database applications using this runtime method are provided combined with four real projects

• Chapter 6 provides detailed discussions and analyses about three popular data insertion

methods with three different databases — Microsoft Access 2007, SQL Server 2008, and Oracle:

1 Using TableAdapter ’ s DBDirect methods TableAdapter.Insert() method

2 Using the TableAdapter ’ s Update() method to insert new records that have already been

added into the DataTable in the DataSet

3 Using the Command object ’ s ExecuteNonQuery() method

This chapter is also divided into two parts: Methods 1 and 2 are related to Visual Studio.

NET design tools and wizards, and therefore are covered in Part I The third method is related to runtime object and therefore it is covered in Part II Nine real projects are used

to illustrate how to perform the data insertion into three different databases: Microsoft Access 2007, SQL Server 2008, and Oracle Database 11g XE Some professional and practical data validation methods are also discussed in this chapter to confi rm the data insertion

Trang 29

• Chapter 7 provides discussions and analyses on three popular data updating and deleting methods with seven real project examples:

1 Using TableAdapter DBDirect methods, such as TableAdapter.Update() and TableAdapter.Delete(), to update and delete data directly again the databases

2 Using TableAdapter.Update() method to update and execute the associated Adapter ’ s properties, such as UpdateCommand or DeleteCommand, to save changes made for the table in the DataSet to the table in the database

Table-3 Using the run time object method to develop and execute the Command ’ s method ExecuteNonQuery() to update or delete data again the database directly

This chapter is also divided into two parts: Methods 1 and 2 are related to Visual Studio.

NET design tools and wizards and therefore are covered in Part I The third method is related to runtime object and it is covered in Part II Seven real projects are used to illustrate how to perform the data updating and deleting against three different databases:

Microsoft Access, SQL Server 2008, and Oracle Database 11g XE Some professional and practical data validation methods are also discussed in this chapter to confi rm the data updating and deleting actions The key points in performing the data updating and deleting actions against a relational database, such as the order to execute data updating and deleting between the parent and child tables, are also discussed and analyzed

• Chapter 8 provides introductions and discussions about the developments and tions of ASP.NET Web applications in Visual Basic.NET 2010 environment At the beginning

implementa-of Chapter 8 , a detailed and complete description about the ASP.NET and the NET Framework is provided, and this part is especially useful and important to students or pro- grammers who do not have any knowledge or background in the Web application develop- ments and implementations Following the introduction section, a detailed discussion on how

to install and confi gure the environment to develop the ASP.NET Web applications is vided Some essential tools, such as the Web server, IIS, and FrontPage Server Extension

pro-2000, as well as the installation process of these tools, are introduced and discussed in detail

Starting from Section 8.3 , the detailed development and building process of ASP.NET Web applications to access databases are discussed with six real Web application projects Two popular databases, SQL Server and Oracle, are utilized as the target databases for those development and building processes

• Chapter 9 provides introductions and discussions about the developments and tions of ASP.NET Web services in Visual Basic.NET 2010 environment A detailed discussion and analysis about the structure and components of the Web services is provided at the beginning of this chapter Two popular databases, SQL Server and Oracle, are discussed and used for three pairs of example Web service projects, which include:

implementa-1 WebServiceSQLSelect and WebServiceOracleSelect

2 WebServiceSQLInsert and WebServiceOracleInsert

3 WebServiceSQLUpdateDelete and WebServiceOracleUpdateDelete

Each Web service contains different Web methods that can be used to access different databases and perform the desired data actions, such as Select, Insert, Update, and Delete, via the Internet To consume those Web services, different Web service client projects are also developed in this chapter Both Windows - based and Web - based Web service client projects are discussed and built for each kind of Web service listed above A total of 18 projects, including the Web service projects and the associated Web service client projects, are developed in this chapter All projects have been debugged and tested and can be run in any Windows operating system, such as Windows 2000, XP, Vista, and Windows 7

Trang 30

Chapters 2 , 3 , and 4 provide the fundamentals on database structures and

compo-nents, ADO.NET and LINQ components Starting from Chapter 5 , and then to Chapters

6 and 7 , each chapter is divided into two parts: fundamental part and advanced part The

data driven applications developed with design tools and wizards provided by Visual

Studio.NET, which can be considered as the fundamental part, have less coding loads,

and, therefore, they are more suitable to students or programmers who are new to the

database programming with Visual Basic.NET Part II contains the runtime object method,

and it covers a lot of coding developments to perform the different data actions against

the database, and this method is more fl exible and convenient to experienced

program-mers event a lot of coding jobs is concerned

Chapters 8 and 9 give a full discussion and analysis about the developments and

implementations of ASP.NET Web applications and Web services These technologies are

necessary to students and programmers who want to develop and build Web applications

and Web services to access and manipulate data via Internet

Based on the organization of this book we described above, this book can be used as

two categories, such as Level I and Level II, which is shown in Figure 1.1

For undergraduate college students or beginning software programmers, it is highly

recommended to learn and understand the contents of Chapters 2 , 3 , and 4 and Part I of

Chapters 5 , 6 , and 7 since those are fundamental knowledge and techniques in database

programming with Visual Basic.NET 2010 For Chapters 8 and 9 , it is optional to

instruc-tors, and it depends on the time and schedule

Chapter 2 Chapters 3 & 4

Part I Chapter 5 Part I Chapter 6 Part I Chapter 7 Chapter 8 Chapter 9

Part II Chapter 5 Part II Chapter 6 Part II Chapter 7 Chapter 8 Chapter 9 Optional

Level I

Level II Chapters 3 & 4

Figure 1.1 Two study levels in the book

Trang 31

For experienced college students or software programmers who have already some knowledge and techniques in database programming, it is recommended to learn and understand the contents of Part II of Chapters 5 – 7 , as well as Chapters 8 and 9 , since the runtime data objects method and some sophisticated database programming techniques, such as joined - table query, nested stored procedures, and Oracle Package, are discussed and illustrated in those chapters with real examples Also, the ASP.NET Web applications and ASP.NET Web services are discussed and analyzed with 24 real database program examples for SQL Server 2008 and Oracle Database 11g XE

HOW TO USE THE SOURCE CODE AND SAMPLE DATABASES

All source codes in each real project developed in this book are available All projects

are categorized into the associated chapters that are located at the folder DBProjects

that is located at the site ftp://ftp.wiley.com/public/sci_tech_med/practical_database_vb You can copy or download those codes into your computer and run each project as you like To successfully run those projects on your computer, the following conditions must

be met:

• Visual Studio.NET 2010 or higher must be installed in your computer

• Three databases ’ management systems, Microsoft Access 2007 (Microsoft Offi ce 2007), Microsoft SQL Server 2008 Management Studio Express, and Oracle Database 11g Express Edition (XE) must be installed in your computer

• Three versions of sample database, CSE_DEPT.accdb, CSE_DEPT.mdf, and Oracle version

of CSE_DEPT, must be installed in your computer in the appropriate folders

• To run projects developed in Chapters 8 and 9 , in addition to conditions listed above, an Internet Information Services ( IIS ), such as FrontPage Server Extension 2000 or 2002, must

be installed in your computer, and it works as a pseudoserver for those projects

All book related teaching and learning materials, including the sample databases, example projects, appendices, faculty and student images, as well as sample Win-dows forms and Web pages, can be found from the associated folders located at the Wiley ftp site ftp://ftp.wiley.com/public/sci_tech_med/practical_database_vb-net-2e , as shown in Figure 1.2

These materials are categorized and stored at different folders in two different sites based on the teaching purpose (for instructors) and learning purpose (for students):

1 Appendix Folder : Contains all appendices that provide useful references and practical

knowledge to download and install database, database server and management systems and develop actual database application projects

• Appendix A : Provides detailed descriptions about the download and installation of Microsoft SQL Server 2008 R2 Express

• Appendix B : Provides detailed descriptions about download and installation of Oracle

Database 11g Express Edition (XE)

• Appendix C : Provides detailed discussions in how to use three sample databases:

CSE_DEPT.accdb , CSE_DEPT.mdf , and Oracle version of CSE_DEPT

Trang 32

Figure 1.2 Book - related materials on website

Trang 33

• Appendix D : Provides detailed discussions in how to create a user database in Oracle

Database 11g XE using Unload and Load methods

• Appendix E : Provides detailed discussions in how to add Existing Oracle Stored Procedures into the VB Project Using the DataSet Confi guration Wizard

• Appendix F : Provides detailed discussions in how to download and install a third - party

Oracle Database driver dotConnect 6.30

2 Database Folder : Contains three types of sample databases, CSE_DEPT, such as CSE_

DEPT.accdb (Microsoft Access 2007), CSE_DEPT.mdf (SQL Server 2008), and Oracle

version of CSE_DEPT These sample databases are located at three subfolders, Access ,

SQLServer , and Oracle Refer to Appendix F to get details in how to use these databases

for your applications or sample projects

3 DBProjects Folder : Contains all sample projects developed in the book Projects are

cat-egorized and stored at different chapter subfolder based on the book chapter sequence

Readers can directly use the codes and GUIs of those projects by downloading them from the DBProjects folder at the Wiley ftp site

4 Images Folder : Contains all sample faculty and student image fi les used in all sample

projects in the book Readers can copy and paste those image fi les to their projects to use them

5 VB Forms Folder : Contains all sample Windows - based forms and Web - based pages

devel-oped and implemented in all sample projects in the book All Windows - based Forms are located at the Window subfolder, and all Web - based Pages are located at the Web subfolder

Readers can use those Forms or Pages by copying and pasting them into their real projects

6 TeachingPPT Folder : Contains all MS - PPT teaching slides for each chapter

7 HWSolutions Folder : Contains selected solutions for the homeworks developed and used

in the book The solutions are categorized and stored at the different chapter subfolder based on the book chapter sequence

Folders 1 ∼ 5 belong to learning materials for students; therefore they are located at the student site: ftp://ftp.wiley.com/public/sci_tech_med/practical_database_vb Folders

1∼ 7 belong to teaching materials for instructors; they are located at the Wiley teaching site and available upon requests by instructors

INSTRUCTORS AND CUSTOMERS SUPPORTS

The teaching materials for all chapters have been extracted and represented by a sequence

of Microsoft Power Point fi les, each fi le for one chapter The interested instructors can

fi nd those teaching materials from the folder TeachingPPT that is located at the site http://www.wiley.com , and those instructor materials are available upon request from the book ’ s listing on http://www.wiley.com

A selected homework solution is also available upon request from the book ’ s listing

Trang 34

shown in Figure 1.2

Trang 35

Chapter 2

Introduction to Databases

SATISH BHALLA AND YING BAI

Databases have become an integral part of our modern day life We are an information driven society We generate large amounts of data that is analyzed and converted into information A recent example of biological data generation is the Human Genome Project that was jointly sponsored by the Department of Energy and the National Institute

-of Health Many countries in the world participated in this venture for 10 years The project was a tremendous success It was completed in 2003 and resulted in generation

of huge amount of genome data, currently stored in databases around the world The scientists will be analyzing this data in years to come

Database technology has a direct impact on our daily lives Decisions are routinely made by organizations based on the information collected and stored in the databases

A record company may decide to market certain albums in selected regions based on the music preference of teenagers Grocery stores display more popular items at the eye level, and reorders are based on the inventories taken at regular intervals Other examples include book orders by libraries, club memberships, auto part orders, winter cloth stock

by department stores, and many others

Database management programs have been in existence since the 1960s However, it was not until the 1970s when E F Codd proposed the then revolutionary relational data model that database technology really took off In the early 1980s, it received a further boost with the arrival of personal computers and microcomputer - based data management programs, like dBase II (later followed by dBase III and IV) Today, we have a plethora

of vastly improved programs for PCs and mainframe computers, including Microsoft Access, IBM DB2, Oracle, Sequel Server, My SQL, and others

This chapter covers the basic concepts of database design followed by tion of a specifi c relational database to illustrate the concepts discussed here The sample database, CSE_DEPT, is used as a running example The database creation is shown in detail using Microsoft Access, SQL Server, and Oracle The topics discussed in this chapter include:

implementa-Practical Database Programming with Visual Basic.NET, Second Edition Ying Bai.

© 2012 the Institute of Electrical and Electronics Engineers, Inc Published 2012 by John Wiley & Sons, Inc.

Trang 36

• Identifying keys

• Primary keys, foreign keys, and referential integrity

• Defi ning relationships

• Normalizing the data

• Implementing the relational database

• Create Microsoft Access sample database

• Create Microsoft SQL Server 2008 sample database

• Create Oracle sample database

A modern - day database is a structured collection of data stored in a computer The term

structured implies that each record in the database is stored in a certain format For

example, all entries in a phone book are arranged in a similar fashion Each entry contains

a name, an address, and a telephone number of a subscriber This information can be

queried and manipulated by database programs The data retrieved in answer to queries

become information that can be used to make decisions The databases may consist of a

single table or related multiple tables The computer programs used to create, manage,

and query databases are known as a database management systems ( DBMS ) Just like

the databases, the DBMS ’ vary in complexity Depending on the need of a user one can

use either a simple application or a robust program Some examples of these programs

were given earlier

The fi le processing system is a precursor of the integrated database approach The records

for a particular application are stored in a fi le An application program is needed to

retrieve or manipulate data in this fi le Thus, various departments in an organization will

have their own fi le processing systems with their individual programs to store and retrieve

data The data in various fi les may be duplicated and not available to other applications

This causes redundancy and may lead to inconsistency, meaning that various fi les that

supposedly contain the same information may actually contain different data values Thus

duplication of data creates problems with data integrity Moreover, it is diffi cult to provide

access to multiple users with the fi le processing systems without granting them access to

the respective application programs, which manipulate the data in those fi les

The fi le processing system may be advantageous under certain circumstances For

example, if data are static and a simple application will solve the problem, a more

expen-sive DBMS is not needed For example, in a small business environment, you want to

Trang 37

keep track of the inventory of the offi ce equipment purchased only once or twice a year

The data can be kept in an Excel spreadsheet and manipulated with ease from time to time This avoids the need to purchase an expensive database program, and hiring a knowledgeable database administrator Before the DBMS ’ s became popular, the data were kept in fi les, and application programs were developed to delete, insert, or modify records in the fi les Since specifi c application programs were developed for specifi c data, these programs lasted for months or years before modifi cations were necessitated by business needs

A better alternative to a fi le processing system is an integrated database approach In this environment, all data belonging to an organization is stored in a single database The database is not a mere collection of fi les; there is a relation between the fi les Integration implies a logical relationship, usually provided through a common column in the tables

The relationships are also stored within the database A set of sophisticated programs known as DBMS is used to store, access, and manipulate the data in the database Details

of data storage and maintenance are hidden from the user The user interacts with the database through the DBMS A user may interact either directly with the DBMS or via

a program written in a programming language, such as C ++ , Java, or Visual Basic Only the DBMS can access the database Large organizations employ database administrator s ( DBA s) to design and maintain large databases

There are many advantages to using an integrated database approach over that of a

fi le processing approach:

1 Data Sharing : The data in the database are available to a large numbers of users who can

access the data simultaneously and create reports and manipulate the data given proper authorization and rights

2 Minimizing Data Redundancy : Since all the related data exist in a single database, there is

a minimal need of data duplication The duplication is needed to maintain relationship between various data items

3 Data Consistency and Data Integrity : Reducing data redundancy will lead to data

consis-tency Since data are stored in a single database, enforcing data integrity becomes much easier Furthermore, the inherent functions of the DBMS can be used to enforce the integ- rity with minimum programming

4 Enforcing Standards : DBAs are charged with enforcing standards in an organization DBA

takes into account the needs of various departments and balances it against the overall need

of the organization DBA defi nes various rules, such as documentation standards, naming conventions, update and recovery procedures, and so on It is relatively easy to enforce these rules in a Database System, since it is a single set of programs that is always interacting with the data fi les

5 Improving Security : Security is achieved through various means, such as controlling access

to the database through passwords, providing various levels of authorizations, data tion, providing access to restricted views of the database, and so on

encryp-6 Data Independence : Providing data independence is a major objective for any database

system Data independence implies that even if the physical structure of a database changes,

Trang 38

Providing security, concurrency, integrity, and recovery may add further to this cost

Further more, since DBMS consists of a complex set of programs, trained personnel are

needed to maintain it

Database development process may follow a classical Systems Development Life Cycle

1 Problem Identifi cation : Interview the user, identify user requirements Perform preliminary

analysis of user needs

2 Project Planning : Identify alternative approaches to solving the problem Does the project

need a database? If so, defi ne the problem Establish scope of the project

3 Problem Analysis : Identify specifi cations for the problem Confi rm the feasibility of the

project Specify detailed requirements

4 Logical Design : Delineate detailed functional specifi cations Determine screen designs,

report layout designs, data models, and so on

5 Physical Design : Develop physical data structures

6 Implementation: Select DBMS Convert data to conform to DBMS requirements Code

programs; perform testing

7 Maintenance: Continue program modifi cation until desired results are achieved

An alternative approach to developing a database is through a phased process which

will include designing a conceptual model of the system that will imitate the real world

operation It should be fl exible and change when the information in the database changes

Furthermore, it should not be dependent upon the physical implementation This process

follows following phases:

1 Planning and Analysis : This phase is roughly equivalent to the fi rst three steps mentioned

above in the Systems Development Life Cycle This includes requirement specifi cations, evaluating alternatives, determining input, output, and reports to be generated

2 Conceptual Design : Choose a data model and develop a conceptual schema based on the

requirement specifi cation that was laid out in the planning and analysis phase This tual design focuses on how the data will be organized without having to worry about the specifi cs of the tables, keys, and attributes Identify the entities that will represent tables in the database; identify attributes that will represent fi elds in a table; and identify each entity attribute relationship Entity - relationship diagram s ( ERD s) provide a good representation

concep-of the conceptual design

3 Logical Design : Conceptual design is transformed into a logical design by creating a

roadmap of how the database will look before actually creating the database Data model

is identifi ed; usually it is the relational model Defi ne the tables (entities) and fi elds butes) Identify primary and foreign key for each table Defi ne relationships between the tables

Trang 39

(attri-4 Physical Design : Develop physical data structures; specify fi le organization, and data storage, and so on Take into consideration the availability of various resources, including hardware and software This phase overlaps with the implementation phase It involves the programming of the database taking into account the limitations of the DBMS used

5 Implementation: Choose the DBMS that will fulfi ll the user needs Implement the physical

design Perform testing Modify if necessary or until the database functions satisfactorily

We will use the CSE_DEPT database to illustrate some essential database concepts

Tables 2.1 – 2.5 show sample data tables stored in this database

The data in the CSE_DEPT database are stored in fi ve tables — LogIn, Faculty, Course, Student, and StudentCourse A table consists of row and columns (Fig 2.1 ) A row represents a record, and the column represents a fi eld Row is called a tuple, and a column is called an attribute For example, the Student table has seven columns or fi elds — student_id, name, gpa, major, schoolYear, and email It has fi ve records or rows

Data model is like a blue print for developing a database It describes the structure of the database and various data relationships and constraints on the data This information

Table 2.2 Faculty table faculty_id faculty_name office phone college title email

A52990 Black Anderson MTC-218 750-378-9987 Virginia Tech Professor banderson@college.edu A77587 Debby Angles MTC-320 750-330-2276 University of Chicago Associate Professor dangles@college.edu B66750 Alice Brown MTC-257 750-330-6650 University of Florida Assistant Professor abrown@college.edu B78880 Ying Bai MTC-211 750-378-1148 Florida Atlantic University Associate Professor ybai@college.edu B86590 Satish Bhalla MTC-214 750-378-1061 University of Notre Dame Associate Professor sbhalla@college.edu H99118 Jeff Henry MTC-336 750-330-8650 Ohio State University Associate Professor jhenry@college.edu J33486 Steve Johnson MTC-118 750-330-1116 Harvard University Distinguished Professor sjohnson@college.edu K69880 Jenney King MTC-324 750-378-1230 East Florida University Professor jking@college.edu

Table 2.1 LogIn table user_name pass_word faculty_id student_id

Trang 40

CSC-131E Computers in Society 3 TC-301 M-W-F: 1:00-1:55 PM 25 B66750

Table 2.4 Student table

student_id student_name gpa credits major schoolYear email

Ngày đăng: 05/05/2014, 15:57

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
9.3.10.2 Develop the Graphic User Interface for the Windows -Based Client ProjectPerform the following modifi cations to our new project Khác
1. Rename the Form File object from the default name Form1.vb to our desired name WinClient Form.vb Khác
2. Rename the Window Form object from the default name Form1 to our desired name FacultyForm by modifying the Name property of the form window Khác
2. Method 2: uses a stored procedure to return our queried information Khác
3. Method 3: uses a DataSet to return our queried information. The Faculty Name combo box control is used to select the desired faculty member as the input parameter for the Web method to pick up our desired faculty information Khác

TỪ KHÓA LIÊN QUAN