38
Velkommen Indholdet i kurset Dagens program Database kursus 15. marts – 19. marts

Velkommen Indholdet i kurset Dagens program Database kursus 15. marts – 19. marts

  • View
    216

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Velkommen Indholdet i kurset Dagens program Database kursus 15. marts – 19. marts

Velkommen

Indholdet i kurset

Dagens program

Database kursus 15. marts – 19. marts

Page 2: Velkommen Indholdet i kurset Dagens program Database kursus 15. marts – 19. marts

Kursus indhold

Mandag

introduktion til databaser

Modellering af databaser

introduktion til SQL-server

Tirsdag

Modellering

Den relationelle model

Den relationelle algebra

Omformning fra E/R til den relationelle model

Onsdag

Design af databaser (normalisering)

SQL sproget

Torsdag

SQL

Fredag

Mere SQL

Page 3: Velkommen Indholdet i kurset Dagens program Database kursus 15. marts – 19. marts

Generet dagsprogram

8:30 Undervisning og opgaver

10:00 Formiddagspause

10:15 Undervisning og opgaver

11:45 Frokost

12:30 Undervisning og opgaver

14:00 Eftermiddagspause

14:15 Undervisning og opgaver

15:20 Afslutning

Page 4: Velkommen Indholdet i kurset Dagens program Database kursus 15. marts – 19. marts

Mandag

Introduktion til databaser

Datamodellering med anvendelse af Entitets-relations diagrammer

Introduktion til Microsoft SQL server

BogenEkmasri Navathe,

Fundameltals of Database system, fifth edition

Page 5: Velkommen Indholdet i kurset Dagens program Database kursus 15. marts – 19. marts

Databaser

Introduktion til databaser

Introduktion til SQL Server

Page 6: Velkommen Indholdet i kurset Dagens program Database kursus 15. marts – 19. marts

Types of Databases and Database Applications

Real-time and Active Databases

Numeric and Textual database

Numeric and Textual database

Geographic information Systems (GIS)

Multimedia database

Data warehouses

Data warehouses

Page 7: Velkommen Indholdet i kurset Dagens program Database kursus 15. marts – 19. marts

7

Basic Definitions

Database: A collection of related data.

Data: Known facts that can be recorded and have an implicit meaning. E.g. “John B. Smith” a name123456789 a number ---two

pieces of data

If they are used in a query like “who is the head of the department and what is his ssn” the data will turn into information (give an implicit meaning)

Mini-world: Some part of the real world about which data is stored in a database. For example, student grades and transcripts at a university.

Page 8: Velkommen Indholdet i kurset Dagens program Database kursus 15. marts – 19. marts

8

Basic definitions

Database Management System (DBMS): A software package/ system to facilitate the creation and maintenance of a computerized database.

Database System: The DBMS software together with the data itself. Sometimes, the applications are also included.

Page 9: Velkommen Indholdet i kurset Dagens program Database kursus 15. marts – 19. marts

9

Stored database definitionMeta data

Storeddatabase

DBMSSoftware

Software to process queries/programs

Software to access storede data

Application programs/queries

DatabaseSystem

User/programmers

Page 10: Velkommen Indholdet i kurset Dagens program Database kursus 15. marts – 19. marts

10

Typical DBMS Functionality

Define a database : in terms of data types, structures and constraints

Construct or Load the Database on a secondary storage medium

Manipulating the database : querying, generating reports, insertions, deletions and modifications to its content

Concurrent Processing and Sharing by a set of users and programs – yet, keeping all data valid and consistent

Page 11: Velkommen Indholdet i kurset Dagens program Database kursus 15. marts – 19. marts

11

Typical DBMS Functionality

Other features:

Protection or Security measures to prevent unauthorized access

“Active” processing to take internal actions on data

Presentation and Visualization of data

Page 12: Velkommen Indholdet i kurset Dagens program Database kursus 15. marts – 19. marts

12

Example of a Database

Mini-world(Problem domain) for the example: Part of a UNIVERSITY environment.

Some mini-world classes:STUDENTsCOURSEsSECTIONs (of COURSEs)(academic) DEPARTMENTsINSTRUCTORs

Page 13: Velkommen Indholdet i kurset Dagens program Database kursus 15. marts – 19. marts

13

Example of a Database

Some mini-world structures(fig. 1.2):SECTIONs are of specific COURSEs

STUDENTs take SECTIONs

COURSEs have prerequisite COURSEs

INSTRUCTORs teach SECTIONs

COURSEs are offered by DEPARTMENTs

STUDENTs major in DEPARTMENTs

Page 14: Velkommen Indholdet i kurset Dagens program Database kursus 15. marts – 19. marts

Figur 1.2

Page 15: Velkommen Indholdet i kurset Dagens program Database kursus 15. marts – 19. marts

15

Main Characteristics of the Database Approach

Self-describing nature of a database system: A DBMS catalog stores the description of the database. The description is called meta-data). This allows the DBMS software to work with different databases.

Insulation between programs and data: Called program-data independence. Allows changing data storage structures and operations without having to change the DBMS access programs.

Page 16: Velkommen Indholdet i kurset Dagens program Database kursus 15. marts – 19. marts

16

Main Characteristics of the Database Approach

Data Abstraction: A data model is used to hide storage details and present the users with a conceptual view of the database.

Support of multiple views of the data: Each user may see a different view of the database, which describes only the data of interest to that user.

Page 17: Velkommen Indholdet i kurset Dagens program Database kursus 15. marts – 19. marts

17

Main Characteristics of the Database Approach

Sharing of data and multiuser transaction processing : allowing a set of concurrent users to retrieve and to update the database. Concurrency control within the DBMS guarantees that each transaction is correctly executed or completely aborted. OLTP (Online Transaction Processing) is a major part of database applications.

Page 18: Velkommen Indholdet i kurset Dagens program Database kursus 15. marts – 19. marts

18

Actors

On the scene

End user

Database administrator

Database designer

Behind the sceneTool developersDBMS designers and implementers

Page 19: Velkommen Indholdet i kurset Dagens program Database kursus 15. marts – 19. marts

19

Advantages of Using the Database Approach

Controlling redundancy in data storage and in development and maintenance efforts.

Sharing of data among multiple users.Restricting unauthorized access to data.Providing Storage Structures for efficient Query

Processing

Page 20: Velkommen Indholdet i kurset Dagens program Database kursus 15. marts – 19. marts

20

Advantages of Using the Database Approach

Providing backup and recovery services.

Providing multiple interfaces to different classes of users.

Representing complex relationships among data.

Enforcing integrity constraints on the database.

Page 21: Velkommen Indholdet i kurset Dagens program Database kursus 15. marts – 19. marts

21

Additional Implications of Using the Database Approach

Potential for enforcing standards: this is very crucial for the success of database applications in large organizations Standards refer to data item names, display formats, screens, report structures, meta-data (description of data) etc.

Reduced application development time: incremental time to add each new application is reduced.

Page 22: Velkommen Indholdet i kurset Dagens program Database kursus 15. marts – 19. marts

22

Additional Implications of Using the Database Approach

Flexibility to change data structures: database structure may evolve as new requirements are defined.

Availability of up-to-date information – very important for on-line transaction systems such as airline, hotel, car reservations.

Economies of scale: by consolidating data and applications across departments wasteful overlap of resources and personnel can be avoided.

Page 23: Velkommen Indholdet i kurset Dagens program Database kursus 15. marts – 19. marts

23

Historical Development of Database Technology

Early Database Applications: The Hierarchical and Network Models were introduced in mid 1960’s and dominated during the seventies. A bulk of the worldwide database processing still occurs using these models.

Relational Model based Systems: The model that was originally introduced in 1970 was heavily researched and experimented with in IBM and the universities. Relational DBMS Products emerged in the 1980’s.

Page 24: Velkommen Indholdet i kurset Dagens program Database kursus 15. marts – 19. marts

24

Historical Development of Database Technology

Object-oriented applications: OODBMSs were introduced in late 1980’s and early 1990’s to cater to the need of complex data processing in CAD and other applications. Their use has not taken off much.

Data on the Web and E-commerce Applications: Web contains data in HTML (Hypertext markup language) with links among pages. This has given rise to a new set of applications and E-commerce is using new standards like XML (eXtended Markup Language).

Page 25: Velkommen Indholdet i kurset Dagens program Database kursus 15. marts – 19. marts

25

When not to use a DBMS

Main inhibitors (costs) of using a DBMS:High initial investment and possible need for

additional hardware.Overhead for providing generality, security,

concurrency control, recovery, and integrity functions.

When a DBMS may be unnecessary:If the database and applications are simple, well

defined, and not expected to change.If there are stringent real-time requirements that

may not be met because of DBMS overhead.If access to data by multiple users is not required.

Page 26: Velkommen Indholdet i kurset Dagens program Database kursus 15. marts – 19. marts

26

When not to use a DBMS

When no DBMS may suffice:

If the database system is not able to handle the complexity of data because of modeling limitations

If the database users need special operations not supported by the DBMS.

Page 27: Velkommen Indholdet i kurset Dagens program Database kursus 15. marts – 19. marts

27

Chapter 2

Database System Concepts and Architecture

Page 28: Velkommen Indholdet i kurset Dagens program Database kursus 15. marts – 19. marts

28

Data Models

Data Model: A set of concepts to describe the structure of a database, and certain constraints that the database should obey.

Data Model Operations: Operations for specifying database retrievals and updates by referring to the concepts of the data model. Operations on the data model may include basic operations and user-defined operations.

Page 29: Velkommen Indholdet i kurset Dagens program Database kursus 15. marts – 19. marts

29

Categories of data models

Conceptual (high-level, semantic) data models: Provide concepts that are close to the way many users perceive data. (Also called entity-based or object-based data models.)

Physical (low-level, internal) data models: Provide concepts that describe details of how data is stored in the computer.

Page 30: Velkommen Indholdet i kurset Dagens program Database kursus 15. marts – 19. marts

30

Schemas versus Instances

• Database Schema: The description of a database. Includes descriptions of the database structure and the constraints that should hold on the database.

• Schema Diagram: A diagrammatic display of (some aspects of) a database schema (fig 2.1).

• Schema Construct: A component of the schema or an object within the schema, e.g., STUDENT, COURSE.

• Database Instance: The actual data stored in a database at a particular moment in time. Also called database state (or occurrence).

Page 31: Velkommen Indholdet i kurset Dagens program Database kursus 15. marts – 19. marts

31

Database Schema Vs. Database State

• Database State: Refers to the content of a database at a moment in time.

• Initial Database State: Refers to the database when it is loaded

• Valid State: A state that satisfies the structure and constraints of the database.

• Distinction• The database schema changes very infrequently. The

database state changes every time the database is updated.

Page 32: Velkommen Indholdet i kurset Dagens program Database kursus 15. marts – 19. marts

33

Internal Schema

Conceptual Schema

External viewExternal view

End users

Stored database

Data independence

Page 33: Velkommen Indholdet i kurset Dagens program Database kursus 15. marts – 19. marts

34

DBMS Languages

• Data Definition Language (DDL): Used by the DBA and database designers to specify the conceptual schema of a database. In many DBMSs, the DDL is also used to define internal and external schemas (views). In some DBMSs, separate storage definition language (SDL) and view definition language (VDL) are used to define internal and external schemas.

Page 34: Velkommen Indholdet i kurset Dagens program Database kursus 15. marts – 19. marts

35

DBMS Languages

• Data Manipulation Language (DML): Used to specify database retrievals and updates.• DML commands (data sublanguage) can

be embedded in a general-purpose programming language (host language), such as Java or C#

• Alternatively, stand-alone DML commands can be applied directly (query language).

Page 35: Velkommen Indholdet i kurset Dagens program Database kursus 15. marts – 19. marts

36

DBMS Languages

• High Level or Non-procedural Languages: e.g., SQL, are set-oriented and specify what data to retrieve than how to retrieve. Also called declarative languages.

• Low Level or Procedural Languages: record-at-a-time; they specify how to retrieve data and include constructs such as looping.

Page 36: Velkommen Indholdet i kurset Dagens program Database kursus 15. marts – 19. marts

37

DBMS Interfaces

• Stand-alone query language interfaces.• Programmer interfaces for embedding DML in

programming languages:• Pre-compiler Approach• Procedure (Subroutine) Call Approach

• User-friendly interfaces:• Menu-based, popular for browsing on the web• Forms-based, designed for naïve users• Graphics-based (Point and Click, Drag and Drop

etc.)• Natural language: requests in written English• Combinations of the above

Page 37: Velkommen Indholdet i kurset Dagens program Database kursus 15. marts – 19. marts

38

Other DBMS Interfaces

• Speech as Input (?) and Output• Web Browser as an interface• Parametric interfaces (e.g., bank tellers)

using function keys.• Interfaces for the DBA:• Creating accounts, granting

authorizations• Setting system parameters• Changing schemas or access path

Page 38: Velkommen Indholdet i kurset Dagens program Database kursus 15. marts – 19. marts

39

Database System Utilities

• To perform certain functions such as:• Loading data stored in files into a database.

Includes data conversion tools.• Backing up the database periodically on tape.• Reorganizing database file structures.• Report generation utilities.• Performance monitoring utilities.• Other functions, such as sorting, user monitoring,

data compression, etc.