460 likes | 466 Views
This chapter provides an overview of the organizational context of database administration, the tools used by database specialists, and the processes involved in database management. It also discusses the role of database specialists in decision making and knowledge management.
E N D
Chapter 14 Data and Database Administration
Outline • Organizational context • Tools of database administration • Processes for database specialists • Overview of processing environments
Database Specialists • Data administrator • Middle or upper management • Broad view of information resources • Database administrator (DBA) • Support role • Emphasis on individual databases and DBMSs
Responsibilities of Specialists • Data administrator • Develops enterprise data model • Establishes inter database standards • Negotiates contractual terms • Database administrator • Performs database development tasks • Consults on application development • Evaluates DBMS capabilities and features
Database Administration Tools • Security • Integrity • Management of stored procedures and triggers • Data dictionary access
Discretionary Access Control • Assign access rights or privileges to users • Specify ability to read, write, and delete specified parts of a database • Use views for fine level of control • Use groups to reduce the number of authorization rules
SQL Statements for Security I CREATE ROLE ISFaculty CREATE ROLE ISAdministrator WITH ADMIN CURRENT_ROLE CREATE ROLE ISAdvisor
SQL Statements for Security II GRANT SELECT ON ISStudentGPA TO ISFaculty, ISAdvisor, ISAdministrator GRANT UPDATE ON ISStudentGPA.StdGPA TO ISAdministrator REVOKE SELECT ON ISStudentGPA FROM ISFaculty RESTRICT GRANT ISAdministrator TO Smith WITH GRANT OPTION;
Oracle Security Statements • CREATE USER statement • Predefined roles • CONNECT • RESOURCE • DBA • System versus object privileges
Mandatory Access Control • Less flexible security approach for highly sensitive and static databases • Assign classification levels to database objects • Assign clearance levels to users • Access granted if a user's clearance level provides access to the classification level of a database object
Encryption • Encoding data to obscure its meaning • Plaintext • Ciphertext • Encryption key
SQL Domains • Limited ability to define new domains • CREATE DOMAIN statement CREATE DOMAIN StudentClass AS CHAR(2) CHECK(VALUE IN ('FR','SO','JR','SR') ) • Distinct type CREATE DISTINCT TYPE USD AS DECIMAL(10,2);
SQL Assertions • Supports complex constraints • Constraint specified through a SELECT statement • Enforcement can be inefficient • Stored procedures and form events are alternatives
Assertion Example CREATE ASSERTION FullTimeEnrollment CHECK (NOT EXISTS ( SELECT Enrollment.RegNo FROM Registration, Offering, Enrollment, Course WHERE Offering.OfferNo =Enrollment.OfferNo AND Offering.CourseNo = Course.CourseNo AND Offering.RegNo = Registration.RegNo AND RegStatus = 'F' GROUP BY Enrollment.RegNo HAVING SUM(CrsUnits) >= 9 ) )
CHECK Constraints • Use when a constraint involves columns of the same table • Part of CREATE TABLE statement • Easy to write • Efficient to enforce
CHECK Constraints Example CREATE TABLE Student (… CONSTRAINT ValidGPA CHECK ( StdGPA BETWEEN 0 AND 4 ), CONSTRAINT MajorDeclared CHECK ( StdClass IN ('FR','SO') OR StdMajor IS NOT NULL ) )
Coding Practice Concerns • Documentation • Parameter usage • Content of triggers and stored procedures
Management of Dependencies • Referenced tables, views, and procedures • Access plans for SQL statements • DBMS support incomplete • Obsolete statistics • Remotely stored procedures • No automatic recompilation after deletion
Managing Trigger Complexity • Coding guidelines to minimize interaction • Trigger analysis tools • Additional testing for interacting triggers
Metadata • Define the source, use, value, and meaning of data • Stored in a data dictionary • DBMS data dictionary to track objects managed by the DBMS • Information resource dictionary to track objects relating to information systems development
Catalog Tables • Most DBMSs provide a large collection • Definition Schema and Information Schema in SQL:2003 • Modify using data definition and control statements • Use SELECT statement to retrieve from catalog tables • Integrity of catalog tables is crucial
Processes for Database Specialists • Data planning • DBMS selection and evaluation
Goals of Data Planning • Evaluate current information systems with respect to the goals and objectives of the organization • Determine the scope and the timing of developing new information systems and utilizing of new information technology • Identify opportunities to apply information technology for competitive advantage
DBMS Selection • Detailed process • Requires knowledge of organization goals and DBMS features • Systematic approach is important • High switching cost if wrong choice
Analytic Hierarchy Process • Multi-criteria decision making tool • Supports systematic assignment of weights and scores to candidate DBMSs • Uses pairwise comparisons
Analytic Hierarchy Process Details • Assign importance weights to pairwise combinations of requirement groups and requirement categories • Combine and normalize importance weights • Score candidate DBMSs for each requirement • Combine and normalize scores • Combine importance weights and DBMS scores
Final Selection Factors • Benchmarks and trial usage • Contractual terms • Vendor expectations
Benchmarking • Workload to evaluate the performance of a system or product • A good benchmark should be relevant, portable, scalable, and understandable. • Standard, domain-specific benchmarks by TPC
TCP Benchmarks • Reasonable estimates about a DBMS in a specific hardware/software environment • Total system performance and cost measures • Audits to ensure unbiased results
Current TCP Benchmarks • TPC-C: order entry benchmark • TPC-App: business to business transactions • TPC-H: decision support ad hoc queries • TPC-W: Ecommerce benchmark
Managing Database Environments • Transaction processing • Data warehouse processing • Distributed processing • Object data management
Responsibilities of Database Specialists • Application development • Database infrastructure and architectures • Performance monitoring • Enterprise data model development • Contingency planning
Summary • Two roles for managing information resources • Tools for security, integrity, rule processing, stored procedures, and data dictionary manipulation • Processes for data planning and DBMS selection • Context for studying other Part 7 chapters