The new forums will be named Coin Return (based on the most recent vote)! You can check on the status and timeline of the transition to the new forums here.
The Guiding Principles and New Rules document is now in effect.
Basically, I have given myself the project of learning C# and .Net 3.5 over the summer, but I'd also like to check out some kind of database language as well. Problem is, I don't know the first thing about them.
Which one is commonly used? Which would behoove me the most to learn as I progress through my CS degree? What is the major advantage to incorporating a DB language to any kind of programming language? Also, if anyone could recommend an awesome book to pick up along the way, that would be awesome. Thus far, I've come to love any kind of literature from the Apress family.
Basically, I have given myself the project of learning C# and .Net 3.5 over the summer, but I'd also like to check out some kind of database language as well. Problem is, I don't know the first thing about them.
Which one is commonly used? Which would behoove me the most to learn as I progress through my CS degree? What is the major advantage to incorporating a DB language to any kind of programming language? Also, if anyone could recommend an awesome book to pick up along the way, that would be awesome. Thus far, I've come to love any kind of literature from the Apress family.
Thanks in advance!
For C#? The most commonly used database is Microsoft SQL Server (MSSQL) (There's a free version available here with some limitations). The advantages are fair, and flexible. You don't have to worry about TCP/IP Sockets per say and can build fairly complex client/server applications with little involvement with a database server on the network. You also don't have to worry about writing your own data parser and so-such.
However. That aside, for someone new to the game, I recommend SQLite as the database system you should use. It's portable and can be used in a plethora of languages. It's file based, so to make a backup all you have to do is copy the file, which, trust me, is a huge plus sometimes.
You may find that you want to do other stuff with this database, which will definitely make it easier for you to port to different languages and operating systems. I'm using it on medical applications, and it's been thus far the best one I've worked with to date. Check it out, but if you want to use MSSQL, that's completely fine too.
There's also a great number of MySQL resources for this, however, this would fall into the same category that MSSQL does. I've found MySQL to be a pain in the ass to get configured on the get go unless you have a *nix based system available to you, though.
'd also like to check out some kind of database language as well. Problem is, I don't know the first thing about them.
The "language" used by basically every common db in use today is SQL. It's like 99% portable between any db implementation, so whichever you learn on, you'll be able to take most of that knowledge with you if you need to work on a different db. There will be differences due to some db's supporting features that others don't and things like that, but it's mostly all the same.
What is the major advantage to incorporating a DB language to any kind of programming language?
It depends on what you're doing as to what the advantage is. Most dynamic web apps use a db back end because it's easier to store things there than go manually edit .html files. When multiple servers need access to the same content it also makes it so you can change it/store it in just one place and all the servers can get to it. There are other ways to accomplish the same thing - stick regular old files on a shared drive or the like, but using a db back end avoids many problems that can come with doing such a thing.
SQLite is also being used to store application specific settings and data in regular old desktop apps because it's small and fast. I want to say firefox 3 is doing this, but don't quote me on that.
SQLite is also being used to store application specific settings and data in regular old desktop apps because it's small and fast. I want to say firefox 3 is doing this, but don't quote me on that.
The only limitation that I know of in MS SQL Express is the size of the database (I believe it can't exceed 2GB), and possibly the number of simultaneous connections (which if you're just doing it for yourself, shouldn't be a reachable limit at all).
The only limitation that I know of in MS SQL Express is the size of the database (I believe it can't exceed 2GB), and possibly the number of simultaneous connections (which if you're just doing it for yourself, shouldn't be a reachable limit at all).
It seems to be working fine for me with 30+ people, so I don't know what the limitations of it are connection wise. Yeah, it's 2GB.
bowen on
not a doctor, not a lawyer, examples I use may not be fully researched so don't take out of context plz, don't @ me
SQLite is also being used to store application specific settings and data in regular old desktop apps because it's small and fast. I want to say firefox 3 is doing this, but don't quote me on that.
...and that pissed me off to no end when Sunbird switched from standard iCal format to SQLite so I couldn't just point other apps (to display it on the desktop) to the iCal file generated by Sunbird. :x
Posts
For C#? The most commonly used database is Microsoft SQL Server (MSSQL) (There's a free version available here with some limitations). The advantages are fair, and flexible. You don't have to worry about TCP/IP Sockets per say and can build fairly complex client/server applications with little involvement with a database server on the network. You also don't have to worry about writing your own data parser and so-such.
However. That aside, for someone new to the game, I recommend SQLite as the database system you should use. It's portable and can be used in a plethora of languages. It's file based, so to make a backup all you have to do is copy the file, which, trust me, is a huge plus sometimes.
Download: SQLite .NET dll library
SQLite's website: http://www.sqlite.org/
You may find that you want to do other stuff with this database, which will definitely make it easier for you to port to different languages and operating systems. I'm using it on medical applications, and it's been thus far the best one I've worked with to date. Check it out, but if you want to use MSSQL, that's completely fine too.
There's also a great number of MySQL resources for this, however, this would fall into the same category that MSSQL does. I've found MySQL to be a pain in the ass to get configured on the get go unless you have a *nix based system available to you, though.
EDIT:
I can't vouch for their greatness, but here:
APRESS books:
SQLite
MSSQL for Developers
MySQL
The "language" used by basically every common db in use today is SQL. It's like 99% portable between any db implementation, so whichever you learn on, you'll be able to take most of that knowledge with you if you need to work on a different db. There will be differences due to some db's supporting features that others don't and things like that, but it's mostly all the same.
It depends on what you're doing as to what the advantage is. Most dynamic web apps use a db back end because it's easier to store things there than go manually edit .html files. When multiple servers need access to the same content it also makes it so you can change it/store it in just one place and all the servers can get to it. There are other ways to accomplish the same thing - stick regular old files on a shared drive or the like, but using a db back end avoids many problems that can come with doing such a thing.
SQLite is also being used to store application specific settings and data in regular old desktop apps because it's small and fast. I want to say firefox 3 is doing this, but don't quote me on that.
Good backup info.
Who uses SQLite?
What sort of limitations? Anything that will seriously affect me getting the basic knowledge down?
It seems to be working fine for me with 30+ people, so I don't know what the limitations of it are connection wise. Yeah, it's 2GB.
...and that pissed me off to no end when Sunbird switched from standard iCal format to SQLite so I couldn't just point other apps (to display it on the desktop) to the iCal file generated by Sunbird. :x