1624
Comment:
|
3784
|
Deletions are marked like this. | Additions are marked like this. |
Line 2: | Line 2: |
<<TableOfContents>> | |
Line 3: | Line 4: |
This class is about Database Management Systems. As such we talk about creating, managing and programming SQL databases. When time permits, we also cover spatial/spatial temporal data and database systems. This site contains content developed by Dr. Anderson for his classes. | This class is about Database Management Systems. As such we talk about creating, managing and programming SQL databases. When time permits, we also cover spatial/spatial temporal data and database systems. This site contains content developed by Dr. Anderson for his classes. == 2011 Winter Class == * [[DatabaseManagementSystems/Cptr319Schedule2011|Course Schedule 2011]] |
Line 6: | Line 11: |
* Lecture 1: It really easy that easy to do small things * Commandline [[DatabaseManagementSystems/DbConnectedExample|Connected Example]] * Forms [[DatabaseManagementSystems/DbDisconnectedExample|Disconnected Example]] * Lecture 2: Look at the Objects we used in the Forms from Lecture 1. * [[http://msdn.microsoft.com/en-us/library/system.data.dataset.aspx?PHPSESSID=tn8k5p1s508cop8gr43e1f34d2|DataSet Class]] * Filled by [[http://msdn.microsoft.com/en-us/library/bz9tthwx(VS.80).aspx|TableAdapter]] contained in the [[http://msdn.microsoft.com/en-us/library/bb384426.aspx|TableAdapterManager]] * [[http://msdn.microsoft.com/en-us/library/system.windows.forms.bindingsource.aspx|BindingSource as a service provider]] * How are GUI elements bound then? * How do the GUI elements change? * [[http://msdn.microsoft.com/en-us/library/system.windows.forms.bindingnavigator.aspx|BindingNavigator]] * Lecture 3: Detail Tables, Validation and other GUI Objects * What you bind to makes all the difference. * Responding to the Validating Event * For anything other than small, independent projects consider the [[http://msdn.microsoft.com/en-us/library/aa697427(VS.80).aspx|Entity Framework with LINQ]]. |
|
Line 7: | Line 26: |
* Lecture 1 * Commandline [[DatabaseManagementSystems/DbConnectedExample|Connected Example]] * Forms [[DatabaseManagementSystems/DbDisconnectedExample|Disconnected Example]] * Look at the Objects we use * [[http://msdn.microsoft.com/en-us/library/system.data.dataset.aspx?PHPSESSID=tn8k5p1s508cop8gr43e1f34d2|DataSet Class]] * Filled by [[http://msdn.microsoft.com/en-us/library/bz9tthwx%28VS.80%29.aspx|TableAdapter]] * [[http://msdn.microsoft.com/en-us/library/system.windows.forms.bindingsource.aspx|BindingSource as a service provider]] == Programming Resources == |
== Programming & Design Resources == |
Line 19: | Line 29: |
* Domain Driven Design has an entire website to look at: http://domaindrivendesign.org/ * NHibernate: http://nhibernate.org * Naked Entites/Objects (http://www.nakedobjects.com) is a for pay framework * CSLA.NET * SpecExpress http://specexpress.codeplex.com |
* [[http://www.fabforce.net/dbdesigner4/|DBDesigner]] is an awesome tool that went for pay by oracle now. Get the old one and don't pay for the ability to reverse engineer a diagram from a database. Works with Oracle, MSSQL and MySQL. * [[http://domaindrivendesign.org/|Domain Driven Design website]] * [[http://msdn.microsoft.com/en-us/practices/default.aspx|MSDN Patterns and Practices]] * [[http://nhibernate.org|NHibernate]] * [[http://www.nakedobjects.com|Naked Entites/Objects is a for pay framework]] * [[http://www.lhotka.net/cslanet/|CSLA.NET]] * [[http://specexpress.codeplex.com|SpecExpress]] * [[http://www.jetbrains.com/teamcity/download/|TeamCity]] * [[http://sourceforge.net/projects/automapper-dn/|AutoMapper]] * [[http://www.linqpad.net/|Link Pad]] allows you to write scratch c# LINQ code and claims it can be used as a drop in replacement for SQL Server Management Studio |
Line 27: | Line 42: |
== Project Ideas == | |
Line 28: | Line 44: |
== Chapter Hints == === Chapter 6.1: Relational Algebra === READ THIS BEFORE YOU DO YOUR HOMEWORK! '''Rule 1:''' You don't need to qualify the results of a natural join. The results of a natural join ALWAYS only have one copy of overlapping attributes. '''Rule 2:''' Predicates, attribute lists and functions in <<latex($\sigma, \Pi, \mathcal{G}$)>> are always subscript. '''Rule 3:''' Relations, whether expressions or names, NEVER appear as a superscript or subscript. '''Rule 4:''' Input relations, whether expressions or name, always have parenthesis around them. E.g. <<latex(\Large$_{sect\_id,course\_id,year,semester}\mathcal{G}_{count(ID)}(student \bowtie takes)$)>> |
Database Management Systems
Contents
This class is about Database Management Systems. As such we talk about creating, managing and programming SQL databases. When time permits, we also cover spatial/spatial temporal data and database systems. This site contains content developed by Dr. Anderson for his classes.
2011 Winter Class
Programming Examples
- Lecture 1: It really easy that easy to do small things
Commandline Connected Example
Forms Disconnected Example
- Lecture 2: Look at the Objects we used in the Forms from Lecture 1.
Filled by TableAdapter contained in the TableAdapterManager
BindingSource as a service provider
- How are GUI elements bound then?
- How do the GUI elements change?
- Lecture 3: Detail Tables, Validation and other GUI Objects
- What you bind to makes all the difference.
- Responding to the Validating Event
For anything other than small, independent projects consider the Entity Framework with LINQ.
Programming & Design Resources
Learning to program something more complex than a one off programming assignments for students can be difficult. Where do the experts learn to program large database applications and what tools and methods do they use? This section is not an answer, but a suggestion on where to look for those answers. Someday, I hope to have a class that explores this in depth.
DBDesigner is an awesome tool that went for pay by oracle now. Get the old one and don't pay for the ability to reverse engineer a diagram from a database. Works with Oracle, MSSQL and MySQL.
Link Pad allows you to write scratch c# LINQ code and claims it can be used as a drop in replacement for SQL Server Management Studio
And many more to follow I'm sure.
Project Ideas
Chapter Hints
Chapter 6.1: Relational Algebra
READ THIS BEFORE YOU DO YOUR HOMEWORK!
Rule 1: You don't need to qualify the results of a natural join. The results of a natural join ALWAYS only have one copy of overlapping attributes.
Rule 2: Predicates, attribute lists and functions in <<latex($\sigma, \Pi, \mathcal{G}$)>> are always subscript.
Rule 3: Relations, whether expressions or names, NEVER appear as a superscript or subscript.
Rule 4: Input relations, whether expressions or name, always have parenthesis around them. E.g.
<<latex(\Large$_{sect\_id,course\_id,year,semester}\mathcal{G}_{count(ID)}(student \bowtie takes)$)>>