![Page 1: day1 - Rhodeskirlinp/courses/db/f16/lectures/day1.pdf · Equivalent representations of a relation Grades(First, Last, Course, Grade) • Relation is a setof tuples, not a list. •](https://reader033.vdocuments.net/reader033/viewer/2022060417/5f14632d5ef0cb3c903e9fd5/html5/thumbnails/1.jpg)
![Page 2: day1 - Rhodeskirlinp/courses/db/f16/lectures/day1.pdf · Equivalent representations of a relation Grades(First, Last, Course, Grade) • Relation is a setof tuples, not a list. •](https://reader033.vdocuments.net/reader033/viewer/2022060417/5f14632d5ef0cb3c903e9fd5/html5/thumbnails/2.jpg)
![Page 3: day1 - Rhodeskirlinp/courses/db/f16/lectures/day1.pdf · Equivalent representations of a relation Grades(First, Last, Course, Grade) • Relation is a setof tuples, not a list. •](https://reader033.vdocuments.net/reader033/viewer/2022060417/5f14632d5ef0cb3c903e9fd5/html5/thumbnails/3.jpg)
![Page 4: day1 - Rhodeskirlinp/courses/db/f16/lectures/day1.pdf · Equivalent representations of a relation Grades(First, Last, Course, Grade) • Relation is a setof tuples, not a list. •](https://reader033.vdocuments.net/reader033/viewer/2022060417/5f14632d5ef0cb3c903e9fd5/html5/thumbnails/4.jpg)
Databases
![Page 5: day1 - Rhodeskirlinp/courses/db/f16/lectures/day1.pdf · Equivalent representations of a relation Grades(First, Last, Course, Grade) • Relation is a setof tuples, not a list. •](https://reader033.vdocuments.net/reader033/viewer/2022060417/5f14632d5ef0cb3c903e9fd5/html5/thumbnails/5.jpg)
Standardstuff
• Classwebpage:cs.rhodes.edu/db• Textbook:getitsomewhere;usedisfine– Stayupwithreading!
• Prerequisite:CS241• Coursework:– Homework,groupproject,midterm,final
• Bepreparedtobringlaptopseverysooften.
![Page 6: day1 - Rhodeskirlinp/courses/db/f16/lectures/day1.pdf · Equivalent representations of a relation Grades(First, Last, Course, Grade) • Relation is a setof tuples, not a list. •](https://reader033.vdocuments.net/reader033/viewer/2022060417/5f14632d5ef0cb3c903e9fd5/html5/thumbnails/6.jpg)
Groupproject• Youwilldesignandimplementyourowndatabase-drivenwebsite.
• Ideas:shopping,auctions,writeabetterBannerWeb,library/bibliographysystem,reviewsalaYelp,bank,finance/stocks,jobpostings,socialnetworkingalaFacebook,recipes,movies,apartments,…
• Groups:probably4-5people,formedonyourown.
• Spreadoutoverthewholesemester;check-insalongtheway.
![Page 7: day1 - Rhodeskirlinp/courses/db/f16/lectures/day1.pdf · Equivalent representations of a relation Grades(First, Last, Course, Grade) • Relation is a setof tuples, not a list. •](https://reader033.vdocuments.net/reader033/viewer/2022060417/5f14632d5ef0cb3c903e9fd5/html5/thumbnails/7.jpg)
Whystudydatabases?
• Academicreasons• Programmingreasons• Business(getajob)reasons• Studentreasons
![Page 8: day1 - Rhodeskirlinp/courses/db/f16/lectures/day1.pdf · Equivalent representations of a relation Grades(First, Last, Course, Grade) • Relation is a setof tuples, not a list. •](https://reader033.vdocuments.net/reader033/viewer/2022060417/5f14632d5ef0cb3c903e9fd5/html5/thumbnails/8.jpg)
Whatwillyoulearn?
• Databasedesign– Howdoyoumodelyourdatasoitcanbestoredinadatabase?
• Databaseprogramming– HowdoIuseadatabasetoaskitquestions?
• Databaseimplementation– Howdoesthedatabaseitselfwork;i.e.,howdoesitstore,find,andretrievedataefficiently?
![Page 9: day1 - Rhodeskirlinp/courses/db/f16/lectures/day1.pdf · Equivalent representations of a relation Grades(First, Last, Course, Grade) • Relation is a setof tuples, not a list. •](https://reader033.vdocuments.net/reader033/viewer/2022060417/5f14632d5ef0cb3c903e9fd5/html5/thumbnails/9.jpg)
Whatisthegoalofadatabase?
• Electronicrecord-keeping,enablingfast andconvenient accesstotheinformationinside.
• DBMS=Databasemanagementsystem– Softwarethatstoresindividualdatabasesandknowshowtosearchtheinformationinside.
– RDBMS=RelationalDBMS– Examples:Oracle,MSSQLServer,MSAccess,MySQL,PostgreSQL,IBMDB2,SQLite
![Page 10: day1 - Rhodeskirlinp/courses/db/f16/lectures/day1.pdf · Equivalent representations of a relation Grades(First, Last, Course, Grade) • Relation is a setof tuples, not a list. •](https://reader033.vdocuments.net/reader033/viewer/2022060417/5f14632d5ef0cb3c903e9fd5/html5/thumbnails/10.jpg)
DBMSFeatures
• Supportmassiveamountsofdata– Giga-,tera-,petabytes
• Persistentstorage– Datacontinuestolivelongafterprogramfinishes.
• Efficientandconvenientaccess– Efficient:don'tsearchtheentirethingtoansweraquestion!
– Convenient:allowuserstoaskquestionsaseasilyaspossible.
• Secure,concurrent,andatomicaccess
![Page 11: day1 - Rhodeskirlinp/courses/db/f16/lectures/day1.pdf · Equivalent representations of a relation Grades(First, Last, Course, Grade) • Relation is a setof tuples, not a list. •](https://reader033.vdocuments.net/reader033/viewer/2022060417/5f14632d5ef0cb3c903e9fd5/html5/thumbnails/11.jpg)
Example:buildabetterBannerWeb
• Professorsofferclasses,studentssignup,getgrades
• Whataresomequestionswe(studentsorfaculty)couldask?– FindmyGPA.– …
• Whyaresecurity,concurrency,andatomicityimportanthere?
![Page 12: day1 - Rhodeskirlinp/courses/db/f16/lectures/day1.pdf · Equivalent representations of a relation Grades(First, Last, Course, Grade) • Relation is a setof tuples, not a list. •](https://reader033.vdocuments.net/reader033/viewer/2022060417/5f14632d5ef0cb3c903e9fd5/html5/thumbnails/12.jpg)
Obvioussolution:Folders
• Advantages?
• Disadvantages?
![Page 13: day1 - Rhodeskirlinp/courses/db/f16/lectures/day1.pdf · Equivalent representations of a relation Grades(First, Last, Course, Grade) • Relation is a setof tuples, not a list. •](https://reader033.vdocuments.net/reader033/viewer/2022060417/5f14632d5ef0cb3c903e9fd5/html5/thumbnails/13.jpg)
Obvioussolution++
• TextfilesandPython/C++/Javaprograms
![Page 14: day1 - Rhodeskirlinp/courses/db/f16/lectures/day1.pdf · Equivalent representations of a relation Grades(First, Last, Course, Grade) • Relation is a setof tuples, not a list. •](https://reader033.vdocuments.net/reader033/viewer/2022060417/5f14632d5ef0cb3c903e9fd5/html5/thumbnails/14.jpg)
Obvioussolution++
• Let'suseCSV:
Hermione,Granger,R123,Potions,ADraco,Malfoy,R111,Potions,BHarry,Potter,R234,Potions,ARonald,Weasley,R345,Potions,C
![Page 15: day1 - Rhodeskirlinp/courses/db/f16/lectures/day1.pdf · Equivalent representations of a relation Grades(First, Last, Course, Grade) • Relation is a setof tuples, not a list. •](https://reader033.vdocuments.net/reader033/viewer/2022060417/5f14632d5ef0cb3c903e9fd5/html5/thumbnails/15.jpg)
Hermione,Granger,R123,Potions,ADraco,Malfoy,R111,Potions,BHarry,Potter,R234,Potions,ARonald,Weasley,R345,Potions,CHarry,Potter,R234,Herbology,BHermione,Graner,R123,Herbology,A
![Page 16: day1 - Rhodeskirlinp/courses/db/f16/lectures/day1.pdf · Equivalent representations of a relation Grades(First, Last, Course, Grade) • Relation is a setof tuples, not a list. •](https://reader033.vdocuments.net/reader033/viewer/2022060417/5f14632d5ef0cb3c903e9fd5/html5/thumbnails/16.jpg)
File1:Hermione,Granger,R123 Draco,Malfoy,R111 Harry,Potter,R234 Ronald,Weasley,R345File2:R123,Potions,AR111,Potions,BR234,Potions,AR345,Potions,CR234,Herbology,BR123,Herbology,A
![Page 17: day1 - Rhodeskirlinp/courses/db/f16/lectures/day1.pdf · Equivalent representations of a relation Grades(First, Last, Course, Grade) • Relation is a setof tuples, not a list. •](https://reader033.vdocuments.net/reader033/viewer/2022060417/5f14632d5ef0cb3c903e9fd5/html5/thumbnails/17.jpg)
Problems
• Inconvenient– needtoknowPython/C++/Javatogetatdata!
• Redundancy/inconsistency• Integrityproblems• Atomicityproblems• Concurrentaccessproblems• Securityproblems
![Page 18: day1 - Rhodeskirlinp/courses/db/f16/lectures/day1.pdf · Equivalent representations of a relation Grades(First, Last, Course, Grade) • Relation is a setof tuples, not a list. •](https://reader033.vdocuments.net/reader033/viewer/2022060417/5f14632d5ef0cb3c903e9fd5/html5/thumbnails/18.jpg)
Whyarethereproblems?
• Twomainreasons:– ThedescriptionofhowthefilesarelaidoutisburiedwithinthePython/C++/Javacodeitself(ifit'sdocumentedatall)
– Thereisnosupportfortransactions (supportingconcurrency,atomicity,integrity,andrecovery)
• DBMSshandleexactlythesetwoproblems.
![Page 19: day1 - Rhodeskirlinp/courses/db/f16/lectures/day1.pdf · Equivalent representations of a relation Grades(First, Last, Course, Grade) • Relation is a setof tuples, not a list. •](https://reader033.vdocuments.net/reader033/viewer/2022060417/5f14632d5ef0cb3c903e9fd5/html5/thumbnails/19.jpg)
Relationaldatabasesystems
• EdgarF.Codd wasaresearcheratIBMwhoconceivedanewwayoforganizingdatabasedonthemathematicalconceptofarelation.
• Relation:asetoforderedtuples(oh,no,CS172stuff…)
![Page 20: day1 - Rhodeskirlinp/courses/db/f16/lectures/day1.pdf · Equivalent representations of a relation Grades(First, Last, Course, Grade) • Relation is a setof tuples, not a list. •](https://reader033.vdocuments.net/reader033/viewer/2022060417/5f14632d5ef0cb3c903e9fd5/html5/thumbnails/20.jpg)
• RDBMS=Relationaldatabasemanagementsystem.
• Therelationalmodelusesrelations(akatables)tostructuredata.
• Gradesrelation:First Last Course Grade
Hermione Granger Potions A
Draco Malfoy Potions B
Harry Potter Potions A
Ronald Weasley Potions C
![Page 21: day1 - Rhodeskirlinp/courses/db/f16/lectures/day1.pdf · Equivalent representations of a relation Grades(First, Last, Course, Grade) • Relation is a setof tuples, not a list. •](https://reader033.vdocuments.net/reader033/viewer/2022060417/5f14632d5ef0cb3c903e9fd5/html5/thumbnails/21.jpg)
• Relationalmodelisanabstraction.• Separatesthelogicalview(asviewedbytheDBuser)fromthephysicalview(DB'sinternalrepresentationofthedata)
First Last Course Grade
Hermione Granger Potions A
Draco Malfoy Potions B
Harry Potter Potions A
Ronald Weasley Potions C
![Page 22: day1 - Rhodeskirlinp/courses/db/f16/lectures/day1.pdf · Equivalent representations of a relation Grades(First, Last, Course, Grade) • Relation is a setof tuples, not a list. •](https://reader033.vdocuments.net/reader033/viewer/2022060417/5f14632d5ef0cb3c903e9fd5/html5/thumbnails/22.jpg)
• Structuredquerylanguage(SQL)foraccessing/modifyingdata:
• FindallstudentswhoaregettingaB.– SELECT First, Last FROM Grades WHERE Grade = "B"
First Last Course Grade
Hermione Granger Potions A
Draco Malfoy Potions B
Harry Potter Potions A
Ronald Weasley Potions C
![Page 23: day1 - Rhodeskirlinp/courses/db/f16/lectures/day1.pdf · Equivalent representations of a relation Grades(First, Last, Course, Grade) • Relation is a setof tuples, not a list. •](https://reader033.vdocuments.net/reader033/viewer/2022060417/5f14632d5ef0cb3c903e9fd5/html5/thumbnails/23.jpg)
![Page 24: day1 - Rhodeskirlinp/courses/db/f16/lectures/day1.pdf · Equivalent representations of a relation Grades(First, Last, Course, Grade) • Relation is a setof tuples, not a list. •](https://reader033.vdocuments.net/reader033/viewer/2022060417/5f14632d5ef0cb3c903e9fd5/html5/thumbnails/24.jpg)
![Page 25: day1 - Rhodeskirlinp/courses/db/f16/lectures/day1.pdf · Equivalent representations of a relation Grades(First, Last, Course, Grade) • Relation is a setof tuples, not a list. •](https://reader033.vdocuments.net/reader033/viewer/2022060417/5f14632d5ef0cb3c903e9fd5/html5/thumbnails/25.jpg)
Transactionprocessing• OneormoreDBoperationscanbegroupedintoatransaction.
• ForaDBMStoproperlyimplementtransactions:• Atomicity:All-or-nothingexecutionoftransactions.
• Consistency:ADBcanhaveconsistencyrulesthatshouldnotbeviolated.
• Isolation:Eachtransactionmustappear tobeexecutedasifnoothertransactionsarehappeningsimultaneously.
• Durability:Anychangesatransactionmakesmustneverbelost.
![Page 26: day1 - Rhodeskirlinp/courses/db/f16/lectures/day1.pdf · Equivalent representations of a relation Grades(First, Last, Course, Grade) • Relation is a setof tuples, not a list. •](https://reader033.vdocuments.net/reader033/viewer/2022060417/5f14632d5ef0cb3c903e9fd5/html5/thumbnails/26.jpg)
Ontotherealstuffnow…
![Page 27: day1 - Rhodeskirlinp/courses/db/f16/lectures/day1.pdf · Equivalent representations of a relation Grades(First, Last, Course, Grade) • Relation is a setof tuples, not a list. •](https://reader033.vdocuments.net/reader033/viewer/2022060417/5f14632d5ef0cb3c903e9fd5/html5/thumbnails/27.jpg)
DataModels
• Awayofdescribingdata.– Better:adescriptionofhowtoconceptuallystructurethedata,whatoperationsarepossibleonthedata,andanyconstraintsonthedata.
• Structure:howweviewthedataabstractly• Operations:whatispossibletodowiththedata?
• Constraints:howcanwecontrolwhatdataislegalandwhatisnot?
![Page 28: day1 - Rhodeskirlinp/courses/db/f16/lectures/day1.pdf · Equivalent representations of a relation Grades(First, Last, Course, Grade) • Relation is a setof tuples, not a list. •](https://reader033.vdocuments.net/reader033/viewer/2022060417/5f14632d5ef0cb3c903e9fd5/html5/thumbnails/28.jpg)
Relationalmodel
• Structure:relation(table)• Operations:relationalalgebra(selectcertainrows,certaincolumns,wherepropertiesaretrue/false)
• Constraints:canenforcerestrictionslikeGrademustbein{A,B,C,D,F}
First Last Course Grade
Hermione Granger Potions A
Draco Malfoy Potions B
Harry Potter Potions A
Ronald Weasley Potions C
![Page 29: day1 - Rhodeskirlinp/courses/db/f16/lectures/day1.pdf · Equivalent representations of a relation Grades(First, Last, Course, Grade) • Relation is a setof tuples, not a list. •](https://reader033.vdocuments.net/reader033/viewer/2022060417/5f14632d5ef0cb3c903e9fd5/html5/thumbnails/29.jpg)
Othermodels• Semi-structureddatathatisstill“structured”butnotinrelationalformat.– XML,JSON
• Objectdatabases,orobject-relational• Graphdatabases• NoSQL,NewSQL
![Page 30: day1 - Rhodeskirlinp/courses/db/f16/lectures/day1.pdf · Equivalent representations of a relation Grades(First, Last, Course, Grade) • Relation is a setof tuples, not a list. •](https://reader033.vdocuments.net/reader033/viewer/2022060417/5f14632d5ef0cb3c903e9fd5/html5/thumbnails/30.jpg)
Semi-structuredmodel
• Structure:Treesorgraphs– e.g.,XML
• Operations:Followpathsintheimpliedtreefromoneelementtoanother.– e.g.,XQuery
• Constraints:canconstraindatatypes,possiblevalues,etc.– e.g.,DTDs(documenttypedefinition),XMLSchema
![Page 31: day1 - Rhodeskirlinp/courses/db/f16/lectures/day1.pdf · Equivalent representations of a relation Grades(First, Last, Course, Grade) • Relation is a setof tuples, not a list. •](https://reader033.vdocuments.net/reader033/viewer/2022060417/5f14632d5ef0cb3c903e9fd5/html5/thumbnails/31.jpg)
Object-relational
• Similartorelational,but– Valuesinatablecanhavetheirownstructure,ratherthanbeingsimplestringsorints.
– Relationscanhaveassociatedmethods.
![Page 32: day1 - Rhodeskirlinp/courses/db/f16/lectures/day1.pdf · Equivalent representations of a relation Grades(First, Last, Course, Grade) • Relation is a setof tuples, not a list. •](https://reader033.vdocuments.net/reader033/viewer/2022060417/5f14632d5ef0cb3c903e9fd5/html5/thumbnails/32.jpg)
Relationalmodelismostcommon
• Simple:builtaroundasingleconceptformodelingdata:therelationortable.– Arelationaldatabaseisacollectionofrelations.– Eachrelationisatablewithrowsandcolumns.– AnRDBMScanmanagemanydatabasesatonce.
• Supportshigh-levelprogramminglanguage(SQL)– Limitedbutusefulsetofoperations.
• Haselegantmathematicaltheorybehindit.
![Page 33: day1 - Rhodeskirlinp/courses/db/f16/lectures/day1.pdf · Equivalent representations of a relation Grades(First, Last, Course, Grade) • Relation is a setof tuples, not a list. •](https://reader033.vdocuments.net/reader033/viewer/2022060417/5f14632d5ef0cb3c903e9fd5/html5/thumbnails/33.jpg)
RelationTerminology
• Relation==2Dtable– Attribute ==columnname– Tuple ==row(nottheheaderrow)
• Database==collectionofrelationsFirst Last Course Grade
Hermione Granger Potions A
Draco Malfoy Potions B
Harry Potter Potions A
Ronald Weasley Potions C
![Page 34: day1 - Rhodeskirlinp/courses/db/f16/lectures/day1.pdf · Equivalent representations of a relation Grades(First, Last, Course, Grade) • Relation is a setof tuples, not a list. •](https://reader033.vdocuments.net/reader033/viewer/2022060417/5f14632d5ef0cb3c903e9fd5/html5/thumbnails/34.jpg)
RelationTerminology
• Arelationincludestwoparts:– Therelationschema definesthecolumnheadingsofthetable(attributes/fields)
– Therelationinstance definesthedatarows(tuples,rows,orrecords)ofthetable.
First Last Course Grade
Hermione Granger Potions A
Draco Malfoy Potions B
Harry Potter Potions A
Ronald Weasley Potions C
![Page 35: day1 - Rhodeskirlinp/courses/db/f16/lectures/day1.pdf · Equivalent representations of a relation Grades(First, Last, Course, Grade) • Relation is a setof tuples, not a list. •](https://reader033.vdocuments.net/reader033/viewer/2022060417/5f14632d5ef0cb3c903e9fd5/html5/thumbnails/35.jpg)
Schema
• Aschemaiswrittenbythenameoftherelationfollowedbyaparenthesizedlistofattributes.– Grades(First, Last, Course, Grade)
• ArelationaldatabaseschemaisthesetofschemasforalltherelationsinaDB.
First Last Course Grade
Hermione Granger Potions A
Draco Malfoy Potions B
Harry Potter Potions A
Ronald Weasley Potions C
![Page 36: day1 - Rhodeskirlinp/courses/db/f16/lectures/day1.pdf · Equivalent representations of a relation Grades(First, Last, Course, Grade) • Relation is a setof tuples, not a list. •](https://reader033.vdocuments.net/reader033/viewer/2022060417/5f14632d5ef0cb3c903e9fd5/html5/thumbnails/36.jpg)
Domains
• ArelationalDBrequiresthateverycomponentofarow(tuple)haveaspecificelementarydatatype,ordomain.– string,int,float,date,time(nocomplicatedobjects!)
Grades(First:string, Last:string, Course:string, Grade:char)
![Page 37: day1 - Rhodeskirlinp/courses/db/f16/lectures/day1.pdf · Equivalent representations of a relation Grades(First, Last, Course, Grade) • Relation is a setof tuples, not a list. •](https://reader033.vdocuments.net/reader033/viewer/2022060417/5f14632d5ef0cb3c903e9fd5/html5/thumbnails/37.jpg)
Equivalentrepresentationsofarelation
Grades(First, Last, Course, Grade)• Relationisaset oftuples,notalist.• Attributesinaschemaareaset aswell.– However,theschemaspecifiesa"standard"orderfortheattributes.
• Howmanyequivalentrepresentationsarethereforarelationwithm attributesandn tuples?
First Last Course Grade
Hermione Granger Potions A
Draco Malfoy Potions B
Harry Potter Potions A
Ronald Weasley Potions C
![Page 38: day1 - Rhodeskirlinp/courses/db/f16/lectures/day1.pdf · Equivalent representations of a relation Grades(First, Last, Course, Grade) • Relation is a setof tuples, not a list. •](https://reader033.vdocuments.net/reader033/viewer/2022060417/5f14632d5ef0cb3c903e9fd5/html5/thumbnails/38.jpg)
Degreeandcardinality
• Degree/arity ofarelationisthenumberofattributesinarelation.
• Cardinality isthenumberoftuplesinarelation.
First Last Course Grade
Hermione Granger Potions A
Draco Malfoy Potions B
Harry Potter Potions A
Ronald Weasley Potions C
![Page 39: day1 - Rhodeskirlinp/courses/db/f16/lectures/day1.pdf · Equivalent representations of a relation Grades(First, Last, Course, Grade) • Relation is a setof tuples, not a list. •](https://reader033.vdocuments.net/reader033/viewer/2022060417/5f14632d5ef0cb3c903e9fd5/html5/thumbnails/39.jpg)
Keystoagoodrelation(ship)
![Page 40: day1 - Rhodeskirlinp/courses/db/f16/lectures/day1.pdf · Equivalent representations of a relation Grades(First, Last, Course, Grade) • Relation is a setof tuples, not a list. •](https://reader033.vdocuments.net/reader033/viewer/2022060417/5f14632d5ef0cb3c903e9fd5/html5/thumbnails/40.jpg)
Keysofarelation
• Keysareakindofintegrityconstraint.• AsetofattributesKformsakeyforarelationRif:– weforbidtwotuplesinaninstanceofRtohavethesamevaluesforallattributesofK.
First Last Course Grade
Hermione Granger Potions A
Draco Malfoy Potions B
Harry Potter Potions A
Ronald Weasley Potions C
Grades(First, Last, Course, Grade)
![Page 41: day1 - Rhodeskirlinp/courses/db/f16/lectures/day1.pdf · Equivalent representations of a relation Grades(First, Last, Course, Grade) • Relation is a setof tuples, not a list. •](https://reader033.vdocuments.net/reader033/viewer/2022060417/5f14632d5ef0cb3c903e9fd5/html5/thumbnails/41.jpg)
Keysofarelation
• Keyshelpassociatetuplesindifferentrelations.
SID CRN Grade
123 777 A
111 777 B
234 777 A
345 777 C
SID First Last
123 Hermione Granger
111 Draco Malfoy
234 Harry Potter
345 Ronald Weasley
CRN Name Semester Year
777 Potions Fall 1997
888 Potions Spring 1997
999 Transfiguration Fall 1996
789 Transfiguration Spring 1996
![Page 42: day1 - Rhodeskirlinp/courses/db/f16/lectures/day1.pdf · Equivalent representations of a relation Grades(First, Last, Course, Grade) • Relation is a setof tuples, not a list. •](https://reader033.vdocuments.net/reader033/viewer/2022060417/5f14632d5ef0cb3c903e9fd5/html5/thumbnails/42.jpg)
Example
• Let'sexpandtheserelationstohandlethekindsofthingsyou'dliketoseeinBannerWeb.
• Keeptrackofstudents,professors,courses,whoteacheswhat,enrollments,pre-requisites,grades,departments&theirchairs.– Onlyonechairperdepartment.– Studentcannotenrollinmultiplecopiesofthesamecourseinonesemester.
– Otherconstraintsthatarelogical.