SQL or Oracle

  • Gift Peddie (2/5/2009)


    Heh? Access is relational

    You starting in it does not make it relational starting with the data types, aggregate functions and DRI trigger wizard which is actually invalid in all RDBMS. The most important it comes without the third part of the relational model DCL(data control language.)

    And the obverse is true.

    Access is (last time I looked) layered over either the Jet database engine or SQL Server Express. Jet, for all of it's issues, is inherently relational and does include DCL. I.e. You can write SQL to execute against Jet that creates tables, indexes and the like. This is as distinct from DML (data manipulation language) which is the more usual select, insert, update, etc.

    Interestingly, Jet and Access were also influential in the development of ODBC. Does anyone other than me remember the alternatives to ODBC? (BDE was the big one.) Of course, now there is JDBC as well.

    Edited to add: oh, we're talking about the mathematical definition of "relational" here, rather than the commonly held view that SQL databases are relational. In which case, I withdraw my objection.

  • Gift Peddie (2/5/2009)


    8i was released almost 2000 and 9i was released in 2001 while 10g was 2004/5. And I read from Oracle's Jim Melton it does not scale and a lot of performance issues. If you look at the ODP.NET page you need Oracle 9i client to use 8i.

    And I think 9i may be buggy because it was also the first x86 and x64 version of Oracle, I used 9i RC2 as 64bits and I have not used x86 Oracle at place of employment. The first 9i I used comes with both IBM and Oracle C++ compilers at the root we had to remove both for security reasons.

    Um... okay?

    I remember using Oracle 8i with an 8i client. Seemed to work okay. So I guess it depends on your definition of "need".

    Also, I used Oracle way back from version 7.0, which ran on Windows NT on x86. So 9i certainly wasn't the first x86 release of Oracle. It was absolutely buggy, and 9i release 2 fixed most of that up.

  • (And I think 9i may be buggy because it was also the first x86 and x64 version of Oracle, I used 9i RC2 as 64bits)

    If I said 9i was the first x86 Oracle that would mean I am saying 7 and 8i did not exist but I was actually saying 9i was the first both x86 which is 32bits and x64 which is 64bits version of Oracle.

    And I was talking about ODP.NET and yes 8i and 9i RC1 are not supported.

    http://www.oracle.com/technology/tech/windows/odpnet/faq.html

    Q: Can ODP.NET be used with an Oracle8, Oracle8i, or Oracle9i Release 1 client?

    A: No. You need to use the Oracle9i Release 2 or higher client.

    Kind regards,
    Gift Peddie

  • [font="Verdana"]Ah, gotcha.

    My first exposure to 64-bit Oracle was 8i on Solaris. So I don't think it was 64-bit that was the issue.

    However, 9i introduced a lot of new features. As per usual with Oracle, the first release with significant new features is pretty buggy. I saw the same with the first few releases of Oracle 7, and the first release of Oracle 8. I didn't get to play much with 10g, but there were certainly some interesting bugs in the first release of that.

    Oracle. Unbreakable. Uhuh.

    [/font]

  • The most annoying for 10g to me was 10g overwriting existing 9i connection and Oracle did nothing to fix it. So if you are using 9i in .NET it is best to look for 9i client because 10g may stop your connection to 9i.

    Kind regards,
    Gift Peddie

  • (Jet, for all of it's issues, is inherently relational and does include DCL.)

    Access is an application in Windows so it sometimes uses Windows permission but it cannot be compared to SQL Server which is less than Oracle.

    (You can write SQL to execute against Jet that creates tables, indexes and the like. This is as distinct from DML (data manipulation language) which is the more usual select, insert, update, etc)

    You can do all that in ExceL version XP and above and Excel is still a flat file. The only exception is indexes. It also comes with DRI trigger wizard because I have seen users with DRI for 20 tables in SQL Server and other RDBMS you need a DRI trigger for that.

    If Access is RDBMS why is Outlook using SQL Server Express as the back end of business contact manager? The Outlook business contact manager was developed after the JET engine but it uses SQL Server Express not Access. Access it not sold alone so there is no need to change because users buy Word, Excel and Outlook and get Access free.

    Kind regards,
    Gift Peddie

  • [font="Verdana"]"Access is an application in Windows so it sometimes uses Windows permission but it cannot be compared to SQL Server which is less than Oracle."

    Okay, I will bite. How is "SQL Server less than Oracle"? Let's substantiate that viewpoint. I have used Oracle since version 7 (actually, since version 6, but that was at University) and I have used SQL Server since it was a Microsoft-badged Sybase product running on OS/2. I can argue the point about which is better (Oracle, SQL Server) either way.

    "If Access is RDBMS why is Outlook using SQL Server Express as the back end of business contact manager?"

    Because SQL Server Express is a better SQL database platform than Access. That doesn't mean Access isn't a SQL database platform. Having said that, I didn't realise Outlook used SQL Server Express. I suspect this is an add-on product to Outlook. So far as I know, Outlook uses PST files (it's own flat file storage) or it connects to an enterprise mail data store.

    "Access it not sold alone so there is no need to change because users buy Word, Excel and Outlook and get Access free."

    Not quite true. It used to be possible to buy Access as a separate product. These days, you can buy editions of Microsoft Office that do not include Access. Access is not free.

    Having said that, if you buy Microsoft Office, that also includes SQL Server Express. So I wouldn't personally choose to use Access as a database back-end when I could use SQL Server Express. Access does make a wonderful front-end to deliver quick 2-tier database applications.

    I'm very firmly in the love/hate space when it comes to Microsoft Access. In the hands of an expert with some good design, it can do wonderful things. Unfortunately, it's so powerful that it can be made to do "wonderful things" in the hands of an idiot. And that's where the nightmares begin.

    [/font]

  • I am not saying Oracle is better than SQL Server but I know it comes with row level security. I enjoy developing in SQL Server but I use Oracle based on employers needs.

    I worked in a place we were to be handed an Access to convert to SQL Server, our boss looked at it for one whole day and asked for a consultant. The consultant was there one year later.

    And yes you can still buy Access alone because there are many people who wants x64 version of Access. I don't use it just as I don't use other none standard DBMS.

    That doesn't mean Access isn't a SQL database platform. Having said that, I didn't realise Outlook used SQL Server Express. I suspect this is an add-on product to Outlook.

    I think Outlook 2003 or 2007 comes with BCM(business contact manager) which persists in SQL Server Express.

    Unfortunately, it's so powerful that it can be made to do "wonderful things" in the hands of an idiot. And that's where the nightmares begin.

    That is the issue.

    :Whistling:

    Kind regards,
    Gift Peddie

  • Bruce W Cassidy (2/8/2009)


    Okay, I will bite. How is "SQL Server less than Oracle"?

    Well, it costs quite a bit less! But I'm not sure that was quite the intent of the original statement ...

  • Gift Peddie (2/8/2009)


    I am not saying Oracle is better than SQL Server but I know it comes with row level security.

    [font="Verdana"]Yeah. One of the features I miss (see earlier post in this topic). Although only available in the Enterprise edition, from memory? It can be emulated in SQL Server, but it takes a fair amount of work to do so.[/font]

  • matt stockham (2/8/2009)


    Well, it costs quite a bit less!

    [font="Verdana"]I think it takes less disc space too. Takes less time to install? :w00t:[/font]

  • Bruce W Cassidy (2/8/2009)


    Gift Peddie (2/8/2009)


    I am not saying Oracle is better than SQL Server but I know it comes with row level security.

    [font="Verdana"]Yeah. One of the features I miss (see earlier post in this topic). Although only available in the Enterprise edition, from memory? [/font]

    Actually there are at least two options how to achieve that. One is Lable Security, which is additional option for EE, another one is Virtual Private Database that is available for free in EE. A broad description for the latter simply allows to write user defined functions generating parts of where clauses which are applied for each and every SQL statement user fires. And I mean EACH and EVERY, not relevant from what tool and or app they originate.

    It can be emulated in SQL Server, but it takes a fair amount of work to do so.

    Any white papers, links or something? I'm quite interested in that.

  • gints.plivna (2/8/2009)


    Any white papers, links or something? I'm quite interested in that.

    [font="Verdana"]None that I have seen, but it wouldn't surprise me if they are out there.

    Briefly, here's the approach I would use:

    1. Create a table that maps database users to internal security levels.

    2. Add a field to every table listing what security levels are applicable to the row.

    3. Create a view over every table that filters the data based on the security level.

    4. Create gateway stored procedures to the tables ensuring security levels of rows are set.

    5. Disallow (deny) all user access to the underlying tables.

    6. Allow access to the views.

    [/font]

  • On the original topic, here's something that kind of kills the "SQL Server doesn't scale out" argument about which is better:

    http://www.sqlservercentral.com/Forums/Topic652576-61-1.aspx

    - Gus "GSquared", RSVP, OODA, MAP, NMVP, FAQ, SAT, SQL, DNA, RNA, UOI, IOU, AM, PM, AD, BC, BCE, USA, UN, CF, ROFL, LOL, ETC
    Property of The Thread

    "Nobody knows the age of the human race, but everyone agrees it's old enough to know better." - Anon

  • It can depend on whether you're doing very large enterprise level architectures running Unix, I would say go with Oracle.

    If you doing small - to -medium and even large enterprise level stuff saying running WINDOWS 2003 Server, I would say go with SQLServer. But of course Oracle and SQLServer both support the two OS's I just mentioned.

    I say take a look back and say to yourself... Here's the size of the enterprise data and processing levels AND here's my Operating System(s). Then you also factor in things like COST, Scalability, Expertise, and so forth, to get the best ROI.

Viewing 15 posts - 136 through 150 (of 250 total)

You must be logged in to reply to this topic. Login to reply