Presentation is loading. Please wait.

Presentation is loading. Please wait.

8A-1 NTW2000-T3 Databases and the Web An Introduction.

Similar presentations


Presentation on theme: "8A-1 NTW2000-T3 Databases and the Web An Introduction."— Presentation transcript:

1 8A-1 NTW2000-T3 Databases and the Web An Introduction

2 8A-2 NTW2000-T3 Why is ‘Databases on the Web’ Important? l Databases are established technology for managing large amounts of data l The Web is a good way to present information l Separating data management from presentation improves efficiency updating finding information Credit: Netskills

3 8A-3 NTW2000-T3 Examples of Websites Using Databases l Organizational information services employee directories l Booking & scheduling airlines, university courses signup l Electronic commerce l Website automation www.yahoo.com www.webmonkey.com

4 8A-4 NTW2000-T3 How to Integrate Databases and the Web? Databases Integration tools

5 8A-5 NTW2000-T3 Databases Database an organized collection of data –paper-based DBMS (database management system) –software to enable user to create and maintain databases Relational database organizes data into tables RDBMS

6 8A-6 NTW2000-T3 Examples of RDBMS MS Access desktop MySQL, mSQL mid-range Oracle, Sybase, MS SQL Server large enterprise

7 8A-7 NTW2000-T3 How to Integrate Databases and the Web? Databases MS Access MySQL, mSQL Oracle, Sybase, MS SQL Server Integration tools PHP or CGI, Servlets, JSP, ASP etc. “Middleware”: e.g. ColdFusionMiddleware http://www.allaire.com/

8 8A-8 NTW2000-T3 Application Interface to Databases CGI Perl DBI Perl DBD (DBD::mysql) ASP ODBC (Open DataBase Connectivity) –A standard for the MS world ODBC driver comes with database –MySQL supplies MyODBC Servlets/JSP — JDBC DBI DBD::mysql DBD::oracle CGI

9 8A-9 NTW2000-T3 Relational Databases Databases that organize data into tables Each table has –A name (For identification) –One or more columns (For attributes or fields) –Rows (For entries or records)

10 8A-10 NTW2000-T3 Relational Database Design Logical database design Physical database design

11 8A-11 NTW2000-T3 Logical Database Design (Entity-relationship modeling) Identify and model the entities Identify and model the relationships between the entities Identify and model the attributes Create unique identifier for each entity Normalize

12 8A-12 NTW2000-T3 Terminology TermDefinition Entity A thing (person, place, event, etc.) which exists outside of the database and is represented in it Attribute Describes the properties of a particular entity Relationship Describes the associations between two or more entities Normalization Prevents inefficiency by ensuring no duplicated data in multiple tables

13 8A-13 NTW2000-T3 Physical Database Design Entities become tables Attributes become columns  choose appropriate data type for each column Unique identifiers become primary keys Relationships are modeled as foreign keys  Foreign keys can be primary keys from other tables

14 8A-14 NTW2000-T3 Structured Query Language (SQL) Standard language for working with relational databases a type of ‘natural’ language l We are going to use Oracle on Borg for the examples we will do in the class/tutorials and for assignment-4. l If you want to use something else, you are free to do so. However, note that in that case it will be your responsibility to solve any problems that may come up…

15 8A-15 NTW2000-T3 Structured Query Language (SQL) Standard language for working with relational databases A type of ‘natural’ language You may not have to write any code There are tools for that e.g Access query tool But necessary to understand basics, as SQL is common to all nearly all the tools covered today

16 8A-16 NTW2000-T3 Two Categories of SQL Statement 1. Data manipulation SELECT, INSERT, DELETE 2. Data definition CREATE DATABASE, DROP DATABASE CREATE TABLE, DROP TABLE

17 8A-17 NTW2000-T3 SQL Statement: INSERT INSERT INTO table (col1, col2, col3,...) VALUES (‘text1’,’text2’...,num1,..); mysql> INSERT INTO employee -> (firstname, lastname, address,em_id) -> VALUES(‘John’,’Doe’,’Somewhere’,1);

18 8A-18 NTW2000-T3 SQL Statement: DELETE DELETE FROM table WHERE condition; mysql> DELETE FROM employee -> WHERE lastname=‘Jones’;

19 8A-19 NTW2000-T3 SQL Statement: SELECT SELECT column_list FROM table WHERE condition; mysql> SELECT * from course; mysql> SELECT description -> FROM course -> WHERE title LIKE ‘Using%’;

20 8A-20 NTW2000-T3 Use SELECT to join tables SELECT table1.colx, table2.coly... FROM table1, table2 WHERE condition; mysql> SELECT course.title, course.description, -> teacher.name -> FROM course, teacher -> WHERE course.teacher_ID=teacher.teacher_ID;

21 8A-21 NTW2000-T3 Reference Programming the Perl DBI http://www.oreilly.com/catalog/perldbi/chapter/ch04.html

22 8A-22 NTW2000-T3

23 8A-23 NTW2000-T3

24 8A-24 NTW2000-T3 Aside: Middleware Adapted from Introduction to Distributed Systems: Slides for CSCI 3171 Lectures by E. W. Grundke References: [TvS] A. Tanenbaum and M. van Steen Distributed Systems: Principles and Paradigms, Prentice-Hall (2002) [CDK] G. Coulouris, J. Dollimore and T. Kindberg  Distributed System: Concepts and Design, Addison-Wesley (2001) 

25 8A-25 NTW2000-T3 Layered Protocols: IP Layers, interfaces, and protocols in the Internet model.

26 8A-26 NTW2000-T3 Layered Protocols: OSI Layers, interfaces, and protocols in the OSI model. 2-1 TvS 2.2

27 8A-27 NTW2000-T3 Middleware Protocols An adapted reference model for networked communication. 2-5 TvS 2.6

28 8A-28 NTW2000-T3 Middleware A software layer that masks the heterogeneity of systems provides a convenient programming abstraction provides protocols for providing general-purpose services to more specific applications, e.g. authentication protocols authorization protocols distributed commit protocols distributed locking protocols high-level communication protocols –remote procedure calls (RPC) –remote method invocation (RMI)

29 8A-29 NTW2000-T3 Middleware General structure of a distributed system as middleware. 1-22 TvS 1.24

30 8A-30 NTW2000-T3 Middleware and Openness In an open middleware-based distributed system, the protocols used by each middleware layer should be the same, as well as the interfaces they offer to applications. 1.23 TvS 1.25

31 8A-31 NTW2000-T3 Middleware programming models Remote Calls  remote Procedure Calls (RPC)  distributed objects and Remote Method Invocation (RMI)  e.g. Java RMI Common Object Request Broker Architecture (CORBA)  cross-language RMI Other programming models  remote event notification  remote SQL access  distributed transaction processing CDK Ch 1 End of Aside


Download ppt "8A-1 NTW2000-T3 Databases and the Web An Introduction."

Similar presentations


Ads by Google