190 likes | 342 Views
Database technology. Introduction ER Modeling Database objects (intro) SQL. Key DBMS issues:. Efficiency issues: Databases can be very large. Efficient access must be provided despite size. Simplicity issues:
E N D
Database technology Introduction ER Modeling Database objects (intro) SQL
Key DBMS issues: • Efficiency issues: • Databases can be very large. Efficient access must be provided despite size. • Simplicity issues: • Different kind of users have different demands on the DBMS. Simplicity and advanced possibilities must be available.Multi-user issues: • Concurrency - Several users may have simultaneous access to the database. • Access via views - Each user have access to a subset of the total database. • Authorization - The access privileges of each user will be limited. • Robustness issues: • Deadlock must be avoided • Recovery from crashes with a minimum loss of data.
Database objects • Tables • Views • Data types • Defaults • Stored procedures • Triggers • Index • .
Tables (Entity) Primary key Person Address Primary key Foreign key
Tables cont. To rows in the same table (entity) cannot have the same values they are separated by the Primary key. To connect to tables the primary key of a table has to match the Foreign key in another table. A key can be a single column (attribute) or a combination of to or more. A table shall follow the First normal form, this means that it shallnot be possible to decompose an attribute further.
Structured Query Language CREATE TABLE person PersonID INT PRIMARY KEY, Fname CHAR(20), Ename CHAR(20), Income SMALLMONEY, Adress INT INSERT [INTO] person(PersonID, Fname, Ename, Income, Address) VALUES (’7108118529’,’Åsa’,’Åström’,13000, 1) UPDATE Person SET Ename = ’Nilsson’ WHERE Ename = ’Åström’ DELETE [FROM] Person WHERE Fname = ’Åsa’
Integrity/Constraint 1. Entity Integrity - To rows in the table cannot have the same values 2. Domain Integrity - Control of data in a column i.e ”Null-control” 3. Referential Integrity - Secures that there are always a relation between a Primary key and a Foreign key CREATE TABLE … CREATE INTEGRITY (or CONSTRAINT for MS SQL-Server) ON Person IS PersonID > 0001010000 AND PersonID < (Date) * 10000 AND PersonID <> ’Null’; OBS! Missing values is stored as ’Null’ this is not the same as ’ZERO’
Views • A view is just a functional image of one (or several!) database • Structurally a view is identical with a query • Functionally it persist in time it tracks the changes made in the database • A view may itself be queried • A view can be used to limit the accessCREATE VIEW Contact SELECT Fname, Ename, Street, Streetno, Pcode, City FROM Person, Address • WHERE AddressID.Address = Address.Person • SELECT * FROM Contact
Stored Procedures & Triggers A Stored Procedure is... … a group of pre compiled SQL-commands stored on the server … often located in the Procedure Cache - This leads to great benefits in performance! A Trigger is… … a special kind of stored procedure activated by a pre defined action on the server
Database technology (2) MS SQL Server Optimizing Recovery Communication
MS SQL Server • MS SQL Server... • ... Is a DBMS developed for Client/Server applications • … is integrated with NT (Security, Performance Monitor, Event Viewer and Scheduling services) • … includes replication possibility • … permits central administration of several SQL Servers on a network, with graphical tools
Tools included in SQL Server • ISQL/w • SQL Service Manager • SQL Security Manager • SQL Enterprise Manager • Performance Monitor • BCP (Bulk Copy Program) • SQL Server Books OnlineAnd more...
Architecture • Master database • Device • Database ( includes Tables etc and a Transaction log) • Transaction log
Master database The Master database… … is created during the installation of the SQL Server … includes information on all other databases on the server … includes information on which devices that are created … also includes information on the total system … is the most important database on the server. If this database disappears you will have to reinstall!
Device • A Device is… • … a physical file (an area on the disk) that can store databases, the transaction log and security copies of databases (filename.dat) • … can store several databases (and a database can reach over several devices) • … at least 1 MB, it can be increased but not decreased… created within the Enterprise Manager or by the DISK INIT command • … can be one out of these tree Dump device - Backup • Tape dump device - Backup • Database device - Active device • You get higher performance if you choose fewer and bigger devicesIt is also easier from an administrators point of view
Database When creating a database… … you allocate space on one (or several) devices … there is automatically created a transaction log … you have to use the “sa” account … you will use the Enterprise Manager or the CREATE DATABASE command
Transaction log • The transaction log... • … takes notice about every activity in the database (insert, update, delete) • … controls if a transaction has succeeded or not • Place the transaction log in a separate device makes benefits • Higher performance • Separate backup on the transaction log • How to empty a transaction log • 1. DUMP TRANSACTION ´dbname´ WHITH NO LOG2. Backup the database
Recovery routines • Backup • Hard- and Software problems • User problems • Theft, fire… • Generally recommendations: • - Backup the transaction log at least once a day • - Backup the database at least once a week • (this requires that the transaction log and the database is stored in different devices) • - Note in which order devices etc are created and use the same order when restoring • Mirroring instead of Backup • Backup Server
Communication • BCP - Bulk Copy Program • Replication • Mail/Exchange/NT integration • ODBC - Open Database Connectivity • Access • Web technology • Security