When to use a database...

Hello everyone,
This is my first post on this forum. I appreciate any help you can give me in advance.
I recently decided that I wanted to get back the programming skills I used to have in college. (My job for the past five years hasn't involved any software development.) So, in leu of this, I decided to make a piece of software that would be helpful to myself and my friends. At the same time, I figured I could learn about programming.
The application I'm trying to write is designed to help me build character sheets in the role-playing game system that I use. I don't plan to sell this application unless that company wishes to buy it from me. Anyway, this program will need to access a set of data in the form of hundreds (definitely not thousands) of skills, hundreds of pieces of equipment (probably not thousands), tens of advantages/disadvantages, etc.
So, I was thinking... Perhaps the best way to design this is to have my application connect to a back-end database. The problem with this is that I am not aware of any free databases that I could include in my application and sell to the company that produces the gaming system. So... now I'm thinking that I should simply store the data in XML files and load ALL of it into class variables when the program is started.
Thoughts? How many pieces of data make a database absolutely necessary?
Thanks again,
Lemmywinks

Perseios,
Thanks for the reply. It was really helpful. Good point about the use of a database for complex queries. When it comes down to it, I can restrict the user to search for skills, equipment, etc using a single search, but I think the application would be MUCH more powerful with a backend database. Plus, I'll get to learn a lot.
I have a couple questions for you, however. I hope you don't mind answering them.
(1) Is the hypersonic DB free to be distributed with a for-profit program? I.e. If I end up selling this application to the company that makes this role-playing game, can they sell it to customers?
(2) My basic concept was to have a class called "character" which contained a number of descriptive variables and methods, as well as classes called "skill", "advantage", "disadvantage", "equipment", etc. The more I think about it, however, it more I think that if I'm storing all these entities into a database, do I really need to read them in as class objects? I could still store the methods in these classes, but I wouldn't have to store data there. Thoughts? Basically this application will allow someone to build a character and then save it to the database. Users could have a database of characters, skills, ads, disads, equipment, etc, etc.
Thanks for your help,
Lemmywinks

Similar Messages

  • When to use logical database locking?

    Hi Experts,
        I have a custom table in one SAP R/3 system A. I am updating this table from another SAP System B from two different programs ( one an user exit and another one a function module). Suppose user exit code is updating the table and at the same time the Function module also tries to update the same table. I think SAP automatically takes care of locking the table and unlocking it. I hope we don't have to explicitly code it right?
    Then why SAP has provided ENQUEUE and DEQUEUE function modules? When exactly do we need to use them?
    Please help.
    Thanks
    gopal

    Hi,
    SAP will not automatically takes care of locking the table and unlocking it. you need to explicitely create ENQUEUE and DEQUEUE function modules.
    Regards,
    Preetham

  • How can I use two database in an application?

    When I use two database like CloudscapeDB and TestDB in J2EE1.3.1, I always get some exceptions, which is unknow source about one of them.I am doing a CMP entity bean application. Can someone tell how to set up the environment and what is problem about the exceptions I met?
    Thanks.

    Hi,
    The basics for using the two databases is simple.
    For database configuration you have to provide the driver class name, url, schema name and password during the creation of the connection pools. So u can create a as many no. of connection pools as the no. of the databases.
    Hope it will work..

  • When using the Database Connectivity Toolset, reads and writes with long binary fields are incompatible.

    I am trying to write LabVIEW Variants to long binary fields in a .mdb file using the Database Connectivity Toolset. I get errors when trying to convert the field back to a variant after reading it back from the database.
    I next tried flattening the variant before writing it and ultimately wound up doing the following experiments:
    1) If I use DB Tools Insert Data to write an ordinary string and read it back using a DB Tools Select Data, the string is converted from ASCII to Unicode.
    2) If I use DB Tools Create Parameterized Query to do an INSERT INTO or an UPDATE operation, specifying that the data is BINARY, then read it back using a DB Tools Select Data,
    the length of the string is prepended to the string itself as a big-endian four-byte integer.
    I can't think of any way to do a parameterized read, although the mechanism exists to return data via parameters.
    Presuming that this same problem affects Variants when they are written to the database and read back, I could see why I get an error. At least with flattened strings I have the option of discarding the length bytes from the beginning of the string.
    Am I missing something here?

    David,
    You've missed the point. When a data item is flattened to a string, the first four bytes of the string are expected to be the total length of the string in big-endian binary format. What is happening here is that preceding this four-byte length code is another copy of the same four bytes. If an ordinary string, "abcdefg" is used in place of the flattened data item, it will come back as <00><00><00><07>abcdefg. Here I've used to represent a byte in hexadecimal notation. This problem has nothing to do with flattening and unflattening data items. It has only to do with the data channel consisting of writing to and reading from the database.
    I am attaching three files that you can use to demonstrate the problem. The VI file c
    ontains an explanation of the problem and instructions for installing and operating the demonstration.
    Ron Martin
    Attachments:
    TestLongBinaryFields.vi ‏132 KB
    Sample.UDL ‏1 KB
    Sample.mdb ‏120 KB

  • Bad performance when using  complex database view with Toplink

    Hi
    Problem description
    1. I have a complex query that collects the data from many DB tables. For this reason I create a database view based on this select. Using EJB 3.0 with Toplink I
    mapped this view to a java object the same way I map database tables. The method I use to get the results is:
    snippet code...
    public List<VwKartela> VwKartela(Integer pperid) {
    List<VwKartela> results = null;
    Session session = getSessionFactory().acquireSession();
    ExpressionBuilder bankfile = new ExpressionBuilder();
    Expression exp1 = bankfile.get("perid").equal(pperid);
    ReadAllQuery query = new ReadAllQuery();
    query.setReferenceClass(VwKartela.class);
    query.setSelectionCriteria(exp1);
    results =(List<VwKartela>)session.executeQuery(query);
    When running the select on the view prom SQL Plus I haven’t any performance problem.
    2.Question: How can I improve the performance? I referenced to Toplink docs but I didn't improve the it.
    Have anyone any experience is such cases?
    Thank you
    Thanos

    Hi
    After my last tests I conclude at the followings:
    The query returns 1-30 records
    Test 1: Using Form Builder
    -     Execution time 7-8 seconds
    Test 2: Using Jdeveloper/Toplink/EJB 3.0/ADF and Oracle AS 10.1.3.0
    -     Execution time 25-27 seconds
    Test 3: Using JDBC/ADF and Oracle AS 10.1.3.0
    - Execution time 17-18 seconds
    When I use:
    session.setLogLevel(SessionLog.FINE) and
    session.setProfiler(new PerformanceProfiler())
    I don’t see any improvement in the execution time of the query.
    Thank you
    Thanos

  • When using Appleworks database for printing labels can I have columns of different widths?

    When using Appleworks database for printing labels can I have a column of different width?
    Case in point, the supplied avery labels in Appleworks does not have 8195. When I build one using custom design  I need a small column between column 2 and 3 to line up the info in columns 3 and 4. All the labels are 1.3/4 inch wide but I need to insert a column 1/4 wide to match up with the avery page....
    Any ideas???    
    Thanks......
    ---warren

    Well, the issue is that when you creat a custom width of 1.3/4 from the edge of the first label to the edge of label 2 all is good. The right and left margins were also set correct in AW. The Avery page, for some reason, has a small 1/4 inch column between the columns of label 2 and 3 therefore making the distance between the left edge of the label in column 2 and the right edge of the label in column 3 - a width of 2 inches and not 1.3/4.
    I guess Avery wanted the page to look even.
    I did this work around.....
    I created a custom lay out of 2 columns (not 4) with the correct width of 1.3/4 from label edge to label edge and the correct left side margin. After printing the first page I just turned the sheet 180 degress and printed the 2nd page to use all the labels on the Avery sheet. Since the upper and lower margin were the same it worked great....
    "Great minds think alike"...   thanks for your suggetion

  • Application cannot connect to second page when oracle is used as database.

    Hi,
    I have an application which works on MySql database. But now I need to change the database to oracle. I have installed everything required inorder for the oracle to work. I am using active record store for my application. For that I have created sessions table using
    rake db:sessions:create
    And I have migrated to my database using
    rake db:migrate.
    Then I uncommented the following line in environment.rb:
    config.action_controller.session_store = :active_record_store
    Then If I start my application using IE, First page is shown, when I click on the second page link,
    I got HTTP 500 Internal Server Error saying
    The website cannot display the page
    HTTP 500
    Most likely causes:
    The website is under maintenance.
    The website has a programming error.
    What you can try:
    Refresh the page.
    Go back to the previous page.
    More information
    I am unable to understand what the problem is. When I comment the line config.action_controller.session_store = :active_record_store application works, but the sessions table is not updated. when I use MySql as my database, everything works fine.
    Can someone please help me with the solution? what may be the mistake am doing?

    Please provide more information about this issue.
    Are you using oracle_enhanced adapter? (activerecord-oracle_enhanced-gem)
    Which Rails version are you using?
    Can you look in your log file what exception you are getting? (if running in development mode then it should be in log/development.log)
    Raimonds

  • Radio Button problem when using Logical Databases.

    Hi,
    I have a report that uses logical database PCH.  I'd like to default the reporting period radio button so that when the report is run it is defaulted to today.
    The name of the screenfield is PCHZTR_D so I set
    PCHZTR_D = 'X'. 
    in the initialisation event but this doesn't work.
    Any suggestions how I can get the reporting period to default to 'today' programmatically.
    I don't want to use a variant.
    Thanks,
    Paul

    Try doing it in the AT SELECTION-SCREEN output Event.
    report zrich_0001.
    nodes: objec.
    <b>at selection-screen output.
    PCHZTR_A = space.
    PCHZTR_D = 'X'.</b>
    REgards,
    Rich HEilman

  • What are the advantage of using Oracle Database when compare to SQL SERVER

    Hi all
    Please tell anyone about
    what are the advantage of using Oracle Database when compare to SQL SERVER
    Thanks in advance
    Balamurugan S

    user12842738 wrote:
    Hi,
    There are various differences between the two.
    1. SQL Server is only Windows, but Oracle runs on almost all Platforms.
    2. You can have multiple databases in SQL Server, but Oracle provides you only one database per instance.Given that the very term 'database' has s different meaning in the two products, this "difference" is absolutely meaningless.
    3. SQL Server provides T-SQL for writing programs, whereas Oracle provides PL/SQLWhich means what? Both products have a procedural programming language. They named them differently, and the languages are not interchangeable. Means nothing in comparing the features/strengths/weaknesses/suitability to purpose.
    4. Backup types in both are the same. (Except Oracle provides an additional backup called Logical Backup.)You make that sound like "Logical Backup" is something more than it is. It is nothing more than an export of the data and metadata. Many experts don't even consider it a backup. I'm sure SQL Server provides the same functionality though they probably call it by some other name.
    5. Both provide High Availability.Well, I guess they both have a suite of features they refer to as "High Availability". But what does that really mean? The devil is in the details. Remember, the two products don't even agree on what constitutes a "database".
    6. Both come in various distributions.???
    >
    If you are going for an Implementation, you can try SQL Server Express Edition and Oracle XE which are free to use.
    Then you can choose whichever is comfortable for your needs.
    Thanks.

  • How to access database module when i use forms builder 9.02

    hello all:
    i'm migration forms 6i application to 9ias r2.
    My application use a module saved in database and it was referenced by all other forms ,when i use forms builder 9.02,i can't access it .Online help hint :
    open form builder,select edit--preference--access tab,select ask,but i can't find it .Who can help me ?

    Forms modules in the database are not supported in 9i - you will have to extract the module in 6i to the file system and adjust the reference before upgrading the form.
    See the following document on OTN for useful information when upgrading.
    http://otn.oracle.com/products/forms/pdf/forms_upgrade_reference.pdf

  • Use same database logon as when report is run

    Is there a way to set the option for "When viewing report" to "Use same database logon as when report is run" for all reports?

    If scheduling we have schedule manager in XIR2 which will do a folder at a time, it's been added to the CMC in 3.x I believe.
    For running the reports I think you would need to use the [SDK|/community [original link is broken]; if if you wanted to modify a bunch of reports at the same time, or use the publishing wizard to publish a bunch of them (no use if the reports are already uploaded)
    Regards,
    Tim

  • Error when using Solution database

    dear all,
    i have some problem when i using the solution database
    we have abap runtime error :
    Runtime Error   RAISE_EXCEPTION                      
    Exception condition "LEXICON_DOES_NOT_EXIST" raised.                                                           
    <b> error analysis :</b>                                                                               
    A RAISE statement in the program "SAPLSRTV1" raised the exception
    condition "LEXICON_DOES_NOT_EXIST".                              
    Since the exception was not intercepted by a superior program  in the hierarchy, processing was terminated.       
    thanks for your help
    rgds
    echo

    Hi Echo:
    Are you currently using the latest SP-Stack; I saw this error before and was due to a know issue in a old system.
    Regards,
    Federico

  • When / why use XML to store data instead of database table ?

    Hi All,
    I still not use XML much in applications and don't know much about its utilization.
    I read here and there about storing data as XML instead of into database tables.
    - could any body please tell me when / why use XML to store data instead of database table ?
    e.g : store inventory per warehouse in XML format. ?
    - What is the other cases or reasons of extracting database records into XML or vice versa ?
    - is there any good pdf on this ?
    Thank you for your help,
    xtanto

    It depends entirely what you want to accomplish with the 'XML in the database'. There are basically 3 independent methods: As CLOB, as XMLType views or as native XMLType 'columns'
    Each method has advantages and disadvantages, especially in the performance vs purpose tradeoff.
    The Oracled Press book "Oracle Database 10g XML & SQL Design, Build, & Manage XML Applications in Java, C, C++, & PL/SQL" is highly recommended for anyone interested in Oracle and XML. http://books.mcgraw-hill.com/getbook.php?isbn=0072229527&template=oraclepress

  • When we use jsf can we also use hibernate or ejb for database visting.

    when we use jsf can we also use hibernate or ejb for database visting.

    http://blog.exadel.com/?p=8
    http://java.sys-con.com/read/46977.htm
    http://www.javaworld.com/javaworld/jw-07-2004/jw-0719-jsf.html
    http://www.jroller.com/page/ksevindik/?anchor=lookup_tables_with_hibernate_and
    Sergey : http://jsfTutorials.net

  • How to inactivate the 'Complex Search' button when using Logical Database

    Hy experts
    I m using Logical Database for a select and you know that for an GET event by default in selection screen it appears some selection fields for every GET event..I manage to hide the ones that don't interest me but I have a little problem: I have a button that's called 'Complex Search' and I don't know how to get rid of this button..
    Here is some code:
    AT SELECTION-SCREEN OUTPUT.
      LOOP AT SCREEN.
    IF screen-name CP '%BT02010_BLOCK_1000'.
          screen-input = '0'.
          screen-active = 0.
          screen-invisible = 1.
          MODIFY SCREEN.
        ENDIF.
        IF screen-name CP 'QL_REFIL'.
          screen-input = '0'.
          screen-active = 0.
          screen-invisible = 1.
          MODIFY SCREEN.
        ENDIF.
    I do this for every screen-name in the program that doesn t interes me..but it seams that even if I comment all the button with 'Complex Search' remains..I mention that is a disperate solution to inactivate every screen element but I could not do other way..My bigest pb is the 'Complex Seach' button..can anyone help me?? pls.. <REMOVED BY MODERATOR> ..thx..
    Edited by: Alvaro Tejada Galindo on Feb 12, 2008 12:45 PM

    Thank you Thomas,
    I need some more from you...
    If I have 8 tables for 8 columns, then how do i proceed?
    Also could u tell me some query optimization techniques while working with intermedia text.
    Thanks you once again,
    waiting...
    Khaleel Hi Khaleel,
    I think this depends on your data model (relationship between the tables) and how you like to search later.
    The optimization begins also with the create index statement (memory clause and storage clause).
    If you like me to help I need more information about your hardware, os, datamodel and what kind of searches you will have later.
    Cheers,
    Thomas

Maybe you are looking for

  • When i try to update my apps the wrong apple id name comes up

    I just had to restore my iPhone and when I unplugged it I went to update all my apps and the apple ID was my husbnads and not mine so I can't update any apps.  I looked at my account and all my info is correct.  How would my husbands apple ID even be

  • Cs3/indd plug-in problem! Please help!

    I am trying to open an indd doc in cs3, and the doc was also created by a different author using cs3, however i can't open the doc due to missing or outdated plugins. There are 2 screens that appear, one with a shorter list, then a second screen with

  • Connection Pooling in OLTP Tux Processes

    Hi All , Was wondering if I could control the number of DB connections in the same way the jdbc connection pooling occurs for C programs. It is an OLTP design and if there are 50 servers running I want just 20 DB connections to be shared among them a

  • Equipment Hirarchy with functional location

    Hi, I am trying for Equipment Hirarchy in functional location.  I have one main equipment and 4 sub equipment of same type.  I want to give specific description each sub equipment.Everytime when I dismantle and install this sub equipment, I want the

  • ProRes and level change when I play

    I'm not sure what I'm doing wrong, but when I capture at any of the ProRes settings, (proxy, LT, or 422) there is a level change between the footage parked and when it is playing. I thought it was the Gamma correction Auto/none setting, but that does