Presentation is loading. Please wait.

Presentation is loading. Please wait.

CIS 451: ASP.NET & Databases Dr. Ralph D. Westfall February, 2009.

Similar presentations


Presentation on theme: "CIS 451: ASP.NET & Databases Dr. Ralph D. Westfall February, 2009."— Presentation transcript:

1 CIS 451: ASP.NET & Databases Dr. Ralph D. Westfall February, 2009

2 What Is a Database? "shared collection of logically related data" "designed to meet needs of multiple users" McFadden & Hofer, 1994

3 Database Advantages less redundant than separate application files consistency of data integration of data data sharing easier application development scalability e.g., Oracle product line scalability

4 Databases Advantages - 2 better security, privacy, integrity controls standardization e.g., field names data accessibility and responsiveness data independence reduced program maintenance e.g., centralized validation

5 Database Advantages - 3 more efficient technology than most "third generation" application programs powerful code to access items, search and sort data storage optimization (disk, memory) efficient updating: add, change, delete

6 Databases - Disadvantages use more resources than file-based systems hardware, software require specialized personnel potential data access conflicts operations vs. data mining potential organizational conflicts incompatibilities between database systems

7 Universal Data Access ODBC: open database connectivity ODBC standard API for accessing relational databases API = application programming interface "drivers" for Access, dBase, DB2, Excel, text, etc. Microsoft is a leading ODBC backer and ships its own version with Windows

8 Universal Data Access - 2 OLE-DB: DB object linking & embedding OLE-DB accesses relational databases through ODBC accesses other data also files, spreadsheets, e-mail, video, voice, images, web pages, object databases, etc. data is accessed "in place" (no need to load into a database)

9 OLE-DB ConceptsConcepts data store = "persistent" collection of data data provider = gets data from data store OLE-DB "driver" for database, email data, etc. data consumer = application that uses data ADO.NET (ActiveX Data Object) interfaces to data store through OLE-DB

10 ADO.NET ADO stands for ActiveX Data Objects part of Microsoft's OLEDB strategy to enable programs to almost any kind of data on a computer provides objects to easily connect to a variety of data sources databases, mail servers, http servers, Excel documents, etc.

11 Using Databases with Internet web browser interface very easy to use compatible with all kinds of hardware Internet is global low cost delivery to large # of users multimedia capabilities ASP.NET can access data through ADO and OLE-DB for web applications

12 ADO.NET Model Objects Connection: to a specific file or server Command: holds/runs SQL/other text to query/update data, call stored procedures, etc. DataReader: high-speed, limited function interface between database and application

13 ADO.NET Model Objects - 2 Data Adapter uses SQL commands to transfer data back and forth between the application and the database DataSet not connected to database but data can be changed and uploaded contains one or more DataTables can "join" multiple tables in DataSet

14 ADO.NET Model Objects - 3 DataTables have the following: DataRowCollection - rows DataColumnCollection - fields DataView - use this if need to sort data that is used as a datasource for an object e.g., a datagrid

15 Database Design determine functional requirements identify data required for applications organize the data tables (usually normalized) relationships between tables identify business rules (middle tier) design queries and applications

16 Key Fields each row in a table is uniquely identified by one or more key field(s) ID# Name City 322 Karim Pomona Dr# Patient# Appointment 397 0246875 10/24/00 2 PM 'key field(s) underlined

17 Rules for Tables in a Database all items in each table should relate to one main topic or subject, on a one-to-one basis employees: SS#, Name, Address, Hourly Pay paychecks: SS#, Date, Pay Amount tables should be "normalized" (2NF or more) no repeated information no fields that may be intentionally empty no fields with data that can be calculated (derived) from other fields

18 Normalization splitting tables to avoid problems avoid duplicated data and empty cells avoid problems: add, change or delete data SID Name GWE Class Quarter Grade 322 Ana No C101 F99 pass 322 Ana No C234 S00 A use 2 tables instead 1-SID, Name, GWE; 2-SID, Class, Quarter, Grade

19 Normalization - 2 library has borrowers, books, circulation put circulation in borrowers file? repeating patron data for every checked out book Borrower#, Name, Address, Book# or repeating (often empty) columns Borrower#, Name, Address, Bk#1, Bk#2, etc. normalize: separate borrowers, circulation Book #, Title, Author, Year, etc. Patron#, Name, Address, etc. Patron#, Book#, Due Date

20 Specialized Normalized Tables "parent-child tables" building: name, address, land area floor: #, common (non-rentable) area room: #, square feet parent table has family name, address family member table has first names, DOB, gender "lookup table" zip, city, state zip code "determines" city and state data storage only needs zip Cerritos mail used to be addressed to Artesia

21 Denormalization sometimes more efficient to not completely normalize all tables less normalization can increase efficiency and possibly reduce number of tables e.g., 1 customer table with fields for 2 voice phone numbers only need to update 1 table don't need to do a join to get all phone #s

22 Denormalization - 2 "do not store data in a table if it can be calculated from other data" e.g., total field (in a separate table) but with a total field don't need to total a large # of records every time need a total but do need extra code to update totals when records are added, changed or deleted (as in a "getter" in OO code)

23 Indexes data is added to database in random order more efficient processing for searches and sorting (less efficient for adding data) index table has sort order (stores position) Data File Order Index/Order Jose (1) 1 (4) Phuong (2) 2 (3) Gunther(3) 3 (1) Ahmed (4) 4 (2)

24 Creating a Database or Table using SQL commands with ADO in VB.NET using VB.NET Server Explorer using SQL Server Management Studio using "3 rd party" programs similar to Server Explorer approach or more sophisticated

25 Creating a Database in Access Access 2003 new database options Design View user needs to type in Field Name, select Data Type, input Field Size and other properties wizard that provides common templates entering data manually uses default settings (like a spreadsheet)

26 Create Database in Access - 2 could use File>Get External Data>Import to pull in data from a file, other databases, spreadsheets, etc. could go into a new table, or be added to an existing table need to set field properties when bringing in data to a new table e.g., Field Name, Data Type, etc.

27 SQL Server and Express Microsoft's SQL Server is designed to handle very large scale applications more security, transaction logging, stored procedures, very many users, etc. MSDE (Microsoft Data Engine) is the software that runs SQL Server database the "engine" in Access is Jet 4.0 (currently) but Access can read/write MSDE databases

28 Create SQL Server Express DB install SSE 2008SSE 2008 load external data as with SQL Server Management Studio

29 Using Server Explorer with SSE View>Server Explorer in VB.NET click Servers>SQL Servers right click server that ends with \NETSDK click (expand) new database right click Tables>New Table

30 Using Server Explorer to Create SQL Server Express Database add fields to master type in Column Name type/select Type, Length, etc. File>Close or right click tab>Close after enter last field File>Save Table1 and replace name in Choose Name input box

31 Stored Procedures code to manipulate database (retrieve data, add, change, delete) stored in database like subroutine, can use in multiple programs (but not with Access database) less storage: once instead of multiple copies easier to update than multiple copies stored queries run faster inside database easier to migrate to other platforms or scale up to larger volumes


Download ppt "CIS 451: ASP.NET & Databases Dr. Ralph D. Westfall February, 2009."

Similar presentations


Ads by Google