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.

Database languages and making sense of it all.

skyboxskybox Registered User regular
edited May 2008 in Help / Advice Forum
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!

skybox on

Posts

  • bowenbowen Sup? Registered User regular
    edited May 2008
    skybox wrote: »
    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.

    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

    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
  • Jimmy KingJimmy King Registered User regular
    edited May 2008
    Bowen provided some good info. I want clarify one thing for you that it sounds like you may have some confusion on based on your post.
    skybox wrote:
    '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.
    skybox wrote:
    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.

    Jimmy King on
  • bowenbowen Sup? Registered User regular
    edited May 2008
    Jimmy King wrote: »
    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?

    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
  • skyboxskybox Registered User regular
    edited May 2008
    Right on. Thanks, guys. I'll check out the free version of MS SQL.
    (There's a free version available here with some limitations).

    What sort of limitations? Anything that will seriously affect me getting the basic knowledge down?

    skybox on
  • VThornheartVThornheart Registered User regular
    edited May 2008
    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).

    VThornheart on
    3DS Friend Code: 1950-8938-9095
  • bowenbowen Sup? Registered User regular
    edited May 2008
    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
  • EchoEcho ski-bap ba-dapModerator, Administrator admin
    edited May 2008
    Jimmy King wrote: »
    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

    Echo on
Sign In or Register to comment.