Chapter 4 Information and Databases Chapter Outline Data Modeling: Documenting Information Architecture User’s View of a Computerized Database Database Management Systems Text Databases and Hypertext Evaluating Information Used in Business Processes Models as Components of Information Systems Data Modeling: Documenting Information Architecture Entity-Relationship Diagrams Identifying the Data in Information Systems An information architecture What information is in a system? How is the information organized? How can users get the information they want? Are these points independent? How can we represent this? Do we need a tool? A model for representing information and relationships What kinds of things are important in this system? How are these things (entities) related? What information (attributes) are collected about these things? Entity Relationship Diagram So…what do these symbols mean? Symbols in an ERD Attributes (information) about our entities (from Alter pp. 113) PROFESSOR DEPARTMENT •Department identifier •College •Department head •Scheduling coordinator COURSE •Course number •Department •Required of department major (y/n) •Course description SECTION •Section identification number •Semester •Year •Classroom •Start time •End time •Days of week for class meetings •Employee identification number •Name •Address •Birthdate •Office telephone •Social Security number STUDENT •Student identification number •Name •Address •Birthdate •Telephone •Gender •Ethic group •Social Security number OFFICE •Office number •Building •Telephone extension What other attributes may be needed What needs to be added? What needs to be changed? What are common attributes that can be used to “join” the tables? For class Thursday, have an idea of how you think these entities could be improved…we are going to spend some time setting up a database User’s View of a Computerized Database Types of Data What is a Database? What is a File? Relational Databases Geographic Information Systems Types of data… Formatted data items Text Images Audio Video What is a database? A structured collection of items stored, controlled and accessed through a computer based on predefined relationships between predetermined data types. What are some examples of databases that you are familiar with? NOT a DBMS! Files and records and fields... File – A set of records Record – A set of fields Field – A group of characters with a predefined meaning Key – A field that uniquely identifies an entity Relational Databases “A set of two-dimensional tables in which one or more key-fields in each tables are associated with corresponding key or nonkey fields in other tables.” Normalization – eliminating redundancies from tables in the database Typically accessed via SQL Other types of databases Geographical Information Systems – becoming quite important for county and local governments – Locally, Orange County and the Town of Chapel Hill are looking for ways to integrate GIS data with their information systems Image/video databases Database Management Systems Defining the Database Methods for Accessing Data in a Computer System Processing Transactions Controlling Distributed Databases Backup and Recovery So…what is a DBMS? Examples – Oracle – Sybase – Access Makes data more of an enterprise resource and makes programming work more effective/efficient Defining the database and Access to Data Data definition – kept in a data dictionary • Metadata (data about data!) – Data definition for a database is a schema DBMS Access – typically will be some form of indexed access – sometimes, sequential access is useful • less flexible – controlled by the DBMS to minimize complexity Indexed access Transaction processing Small section in the book, but very important – – – – provides control for logical units of work locks resources manages concurrency provides queuing and prioritization Can be in the DBMS or a separate transaction server Controlling Distributed Databases Replication – decentralized storage of information Two-phase commit – maintain consistency – try to protect data from network or system failures Backup and recovery Backup is often neglected Disaster recovery plans are often non- existent – Why do you need a disaster recovery plan? – What is in such a plan? Review of things covered so far... A model for describing information in a system and the relationships – the ERD What is a database? What is a DBMS? What is a transaction processing system? What about backup and recovery? Hands-on Lab: Building a database Use your modified table 4.2 (from Alter, page 113) Create tables in Access for the entities Establish appropriate relationships Populate with sample information Text Databases and Hypertext Hypertext Browsers Indexes and Search Engines Hypertext Most common example today is HTML – HyperText Markup Language Web combines hypertext and multimedia to be a “hypermedia” system Let’s look at some HTML – This may be a review for many, but bear with us so we can all reach a common level of understanding The HTML for our class main page <!doctype html public "-//w3c//dtd html 4.0 transitional//en"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <meta name="GENERATOR" content="Mozilla/4.7 [en] (Win98; I) [Netscape]"> <meta name="Author" content="Joel Dunn"> <title>INLS60, Fall 2000</title> </head> <body bgcolor="#FFFFFF"> <center>School of Information and Library Science <br>University of North Carolina at Chapel Hill</center> <center> <h2> INLS60<br> Information Systems Analysis and Design<br> Fall 2000</h2></center> <center>Tuesday/Thursday 2:00-3:15PM <br>307 Manning <br>Joel Dunn <br>joel_dunn@unc.edu <br>Office - 440 W. Franklin St., Rm. 07 <br>Phone: Office - 966-5837; Home - 968-1911 <p><a href="F00-Syllabus.html">Syllabus</a> / <a href="F00-Calendar.html">Calendar</a> / <a href="F00-Assignments.html">Assignments</a> / <a href="F00-Comm.html">Communications</a></center> <p> <hr ALIGN="CENTER"><b>Course Description:</b> <p>Analysis of organizational problems and how information systems can be designed to solve those problems. Application of database and interface design principles to the implementation of information systems. <p> <hr ALIGN="CENTER"> <p><i>Last modified 3 August, 2000</i> <br><i><a href="mailto:joel_dunn@unc.edu">Joel Dunn</a></i> </body> </html> How does the browser fit in? Retrieve pages from the text databases of Web servers Act as today’s defacto standard terminal for other types of database access – http://bullhead.ais.unc.edu/cgibin/waisretrieve.pl?1301425xxx1303956xxx/home/longlegs/flyfish/log00/ log0001d.txt:flyfish00 Provide vector to launch applets Provide access to servlets Both applets & servlets are used for data access Overview of Java Servlets J a v a S e r v l e t s M / PL W M / L W N a m e : S m i t h S S N : 1 1 1 2 2 3 3 3 3 E n t e r C l i e n t i m p o r t j a v a x . s e r v l e t . * ; c l a s s M y S e r v l e t e x t e n d s G e n e r i c S e r v l e t { p u b l i c v o i d s e r v i c e ( S e r v l e t R e q u e s t r e q u e s t , S e r v l e t R e s p o n s e r e s p o n s e ) t h r o w s S e r v l e t E x c e p t i o n , I O E x c e p t i o n { . . . } } W e b S e r v e r P r o g r a m t h a t r u n s o n W e b S e r v e r ,R e g i s t e r e d w i t h W e b S e r v e r N o g r a p h i c a lU s e r I n t e r f a c e ( H T M L ) L e s s r e s o u r c e i n t e n s i v e t h a n C G Ip r o g r a m s ( l o a d o n c e ,r u n m a n y ) P o r t a b l e t o o t h e r W e b S e r v e r s ,p o s i t i o n i n g f o r f u t u r e E J B s P a r t o f J D K 1 . 1 a s a S t a n d a r d J a v a E x t e n s i o n A P I ( G e n e r i c S e r v l e t ,H T T P S e r v l e t c l a s s ) C a n b e p r o g r a m m e d t o a c c e s s e x i s t i n g a p p l i c a t i o n s , d i s t .o b j e c t s ,e t c . C a n b e u s e d t o i m p r o v e e n d t o e n d p e r f o r m a n c e C a n b e u s e d t o a d d r e s s f i r e w a l lc o n c e r n Let’s review the basic model of browser/server interaction Indexes and search engines In the web context, what is an index? What does a search engine do? – How is a search engine like a DBMS? How has the pervasiveness of hypertext and web-based searching changed the way we deal with collections of information? What are your favorite search engines, and why? Evaluating Information Used in Business Processes Information Quality Information Accessibility Information Presentation Information Security Information quality INFORMATION QUALITY •ACCURACY •PRECISION •COMPLETENESS •AGE •TIMELINESS •SOURCE •What are some examples of these qualities? Information accessibility, presentation and security INFORMATION ACCESSIBILITY •AVAILABILITY •ADMISSIBILITY INFORMATION PRESENTATION •LEVEL OF SUMMARIZATION •FORMAT INFORMATION SECURITY •ACCESS RESTRICTION •ENCRYPTION Let’s think about a database and evaluate it based on these criteria What about your academic record, your history of courses taken and grades received here at UNC? Models as Components of Information Systems Mental Models and Mathematical Models What-if Questions Models… A part of the decision making process A mental model…how you think things work... Mathematical model Series of equations/algorithms that describe relationships between variables Is often an instantiation of a mental model in an information system to apply data to solve a problem What-if Questions Enabled by mathematical models How things could operate given a change in circumstances Discussion item… – how might we try to build a model to examine the impact of dramatically increased enrollment at UNC over the next 10 years? What elements would we put in our model; what would we exclude?