What to teach database, sql, pl/sql newbies?
DBAsupport.com Forums - Powered by vBulletin
Results 1 to 8 of 8

Thread: What to teach database, sql, pl/sql newbies?

  1. #1
    Join Date
    Jun 2000
    Posts
    417
    We will have a number of new developers coming onto our project soon, the majority of which have little to no oracle, or much database experience in general.

    My manager has graciously volunteered me to give a little in-house training overview to get everyone up to speed on sql, pl/sql, etc. I figured I would throw in some general database theory while I'm at it.

    If it were up to me though, I would tell them to go spend a day reading/writing practice code and come back to me with questions, but I don't think that will fly with my manager :)

    I was curious if anyone had any added ideas of how/what I should present to them. All are technial, some probably already know the stuff, but there will be a few without much experience.

    I figure I will start with a little bit about databases in general, quick overview of normalization, etc.

    Then get into sql dml -- spend a lot of time covering select and all the variations, then just touch update/insert/delete since they're pretty easy once you have select down.

    Then touch on DDL but there shouldn't be much for them to worry about there.

    Then get into pl/sql and follow some other tutorials I've seen, hot-oracle.com has a pretty complete one, and just go over structure, syntax, programming practices, etc.

    Then I'll have them go read/write practice code and come back to me with questions :)

    Anything else that I should touch on?

    Does anyone have any other places for good class/tutorial reference material? Ideas for small but worthwhile pl/sql programming projects? Learning I'm good at but my teaching leaves a little to be desired, and anything I can find to help in organizing the information in a logical way to be taught to new people would be great.

  2. #2
    Join Date
    Sep 2000
    Posts
    43
    I would definitely approach it from the following perspective: what is the main problem for an Oracle DBA when developers do not know much about Oracle and still have to write code to work with Oracle?
    Take main principles of Oracle optimizations and cover them while you are talking about SQL and PL/SQL in general. Talk about how Oracle accesses data and how Oracle optimizer works. That will make your developers write better code and you will have to do less tuning :-)
    Alla S. Pfauntsch
    Oracle DBA
    ========================================
    "Life is what happens while you are planning something else".

  3. #3
    Join Date
    Nov 2000
    Location
    Baltimore, MD USA
    Posts
    1,339
    I would also suggest development and distribution of a standards document.

    I would foresee that you are going to be pulled in to fix/validate/help with a lot of SQL / PL/SQL. Your job will be much easier going forward if everyone codes to the same standards. Either that or invest in a 'lint' utility, PL/formatter or such, and tailor it to your standards. IMHO, this will make your life a good bit easier.

    But if they don't even understand the basics of a SELECT statement, I pity you :).

    - Chris

    PS. Above all, teach them 2 things:

    - To try to think set-based and not procedurally (easier said than done)
    - Join everything that can be joined - always. If A=B and B=C, always add AND A=C

    This will also save you headaches in the long run.

  4. #4
    Join Date
    Jan 2001
    Posts
    36
    You might want to avoid teaching them about DROP or
    TRUNCATE until they have a bit more knowledge !

    Strangely enough, the concept a lot of first time oracle
    developers have understanding, is the concept of what a
    USER is, as opposed to a SCHEMA.
    eg. If you grant them all access to a number of tables, before they start, they automatically believe that the user they login with is the owner of that table. You might want to go through GRANTS and SYNONYMS with them at an early stage.

  5. #5
    Join Date
    Nov 2000
    Location
    greenwich.ct.us
    Posts
    9,092
    Queries, Queries, Queries.

    How to write queries, how to tune queries, how to use tkprof, how to use autotrace. All the other stuff will come in time when they need to know.
    Jeff Hunter
    marist89@yahoo.com
    http://marist89.blogspot.com/
    Get Firefox!
    "I pledge to stop eating sharks fin soup and will not do so under any circumstances."

  6. #6
    Join Date
    Jun 2000
    Posts
    417
    Lots of good ideas guys, thanks for the tips. They also give me a starting point to think of more suggestions in that line of what to make sure they understand besides simple syntax, usage, etc.

  7. #7
    Join Date
    Jan 2000
    Location
    Silver Spring MD USA
    Posts
    105
    I would be sure to cover built-in functions.
    I had a developer writing code to find the next available record number to enter into a table. When I told him about the MAX function, he was both relieved and frustrated that he put all this work into something that already existed. (in this case, we didn't want to use sequences)

    But most of all, you don't want them coming to you with every little thing, so I would tell them to register with Technet.oracle.com, and provide them with other resources they can consult with before they come running to you. Sometimes, it serves them better to teach them how to get answers for themselves than to give them out to them. (I'm a former teacher)

    Good luck

  8. #8
    Join Date
    Jun 2000
    Posts
    417
    Agreed, I will definately make sure they know where to find answers :)

    I just want to give them a quick overview to get them up to speed so they won't stare at technet completly oblivious when they see things like transactions/commits/rollbacks, or don't understand normalization and good coding practices, etc.


Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  



Click Here to Expand Forum to Full Width