tag:blogger.com,1999:blog-5023502478372930572024-02-20T09:20:05.852-08:00DBMS WorkThe most growing blog for dbms on to netUnknownnoreply@blogger.comBlogger23125tag:blogger.com,1999:blog-502350247837293057.post-54263500562808279212009-09-21T10:29:00.005-07:002009-09-21T10:29:40.587-07:00Open source Powepoint alternative for public display?<div class="question_div" >
<br /> <br />Hi,<br /><br />I want to put up a screen in a public location to show information about our company. The content of the display will change on a fairly regular basis.<br /><br />I would like the scren to show a powerpoint presentation containing a single slide.<br /><br />A user would then edit the slide on a regular basis to update tyhe information.<br /><br />Problem is that in order to restart the slide show they would have to log on at the machine in question - they wouldn't be able to t/s into it as that will 'kick out' the local user making it impossible to display the presentation anymore.<br /><br />How can I get my (editable) powerpoint or similar to display on the machine, while still allowing it to be managed with terminal server/remote desktop?<br /><br />Thanks.
<br /> </div><div id="arsh_ads_div">
<br /> </div><div class="answer_div"><br />
<br /> <div class="solution_text"># Solution 1</div>
<br /> <br />You can use the free powerpoint viewer on that PC and edit them on another that has the full powerpoint/office install on it.<br /><a rel="nofollow" href="http://www.microsoft.com/downloads/details.aspx?FamilyID=048DC840-14E1-467D-8DCA-19D2A8FD7485&displaylang=en" target="_blank">http://www.microsoft.com/d<wbr />ownloads/d<wbr />etails.asp<wbr />x?<wbr />FamilyID<wbr />=048DC840-<wbr />14E1-467D-<wbr />8DCA-19D2A<wbr />8FD7485&di<wbr />splaylang=<wbr />en</a><br /><br />And for managing it, use VNC. It will just remote control the console session and leave the display visible instead of returning it to the login prompt.<br /><a rel="nofollow" href="http://www.uvnc.com/download/1055/1055full.html" target="_blank">http://www.uvnc.com/downlo<wbr />ad/1055/10<wbr />55full.htm<wbr />l</a></div><div class="answer_div"><br />
<br /> <div class="solution_text"># Solution 2</div>
<br /> <br />Power point viewer 2003 and 2007 <br /><br /><a rel="nofollow" href="http://www.microsoft.com/downloads/details.aspx?FamilyId=428D5727-43AB-4F24-90B7-A94784AF71A4&displaylang=en" target="_blank">http://www.microsoft.com/d<wbr />ownloads/d<wbr />etails.asp<wbr />x?<wbr />FamilyId<wbr />=428D5727-<wbr />43AB-4F24-<wbr />90B7-A9478<wbr />4AF71A4&di<wbr />splaylang=<wbr />en</a><br /><br /><a rel="nofollow" href="http://www.microsoft.com/downloads/details.aspx?FamilyID=048DC840-14E1-467D-8DCA-19D2A8FD7485&displaylang=en" target="_blank">http://www.microsoft.com/d<wbr />ownloads/d<wbr />etails.asp<wbr />x?<wbr />FamilyID<wbr />=048DC840-<wbr />14E1-467D-<wbr />8DCA-19D2A<wbr />8FD7485&di<wbr />splaylang=<wbr />en</a></div><div class="answer_div"><br />
<br /> <div class="solution_text"># Solution 3</div>
<br /> <br />Or, you can use OpenOffice.org. One of its components is called Impress, and it's similar to Poierpoint, and free, and open source.<br /><a rel="nofollow" href="http://www.openoffice.org/" target="_blank">http://www.openoffice.org/<wbr /></a><br /><br /></div><div class="answer_div"><br />
<br /> <div class="solution_text"># Solution 4</div>
<br /> <br />I think what you need is a multi display system...I can recommend maxivista server or maxivista pro. I believe it has all the features you need...Though, it isnt open source. You can try the 30-day trial download.<br /><br />Good luck.</div><div class="answer_div"><br />
<br /> <div class="solution_text"># Solution 5</div>
<br /> <br />quick follow up! you can try teamviewer, its free for personal/commercial use. Very easy and kinda similar to VNC but I believe the presentation feature is what you want to try it out. <a rel="nofollow" href="http://www.teamviewer.com" target="_blank">www.teamviewer.com</a></div><div class="answer_div"><br />
<br /> <div class="solution_text"># Solution 6</div>
<br /> <br />I don't understand the question. Are you asking if there is a good open source alternative for PowerPoint (based on the subject title), or are you asking how to edit a slide remotely and then have it displayed? If it's the latter that you're asking about, why are you using PowerPoint if it's just one slide? Why are you referring to it as a "slide show" if it's only one static image (is it static?)? Is the "user" who edits the slide the same person each time, or will there be multiple users from many locations? Based on your clarifications, I might (or might not) have some suggestions.</div><div class="answer_div"><br />
<br /> <div class="solution_text"># Solution 7</div>
<br /> <br />"...or are you asking how to edit a slide remotely and then have it displayed?"<br /><br />YES.<br /><br />"why are you using PowerPoint if it's just one slide?"<br /><br />Because I MIGHT want to have two or more slides at some point in the future. But this is not important, so if there's a good alternative that only displays ONE image then that's ok. But they need to be able to easily edit the text, which is why powerpoint springs to mind.<br /><br />"Why are you referring to it as a "slide show" if it's only one static image"<br /><br />Dunno. I Guess I are stoopid.<br /><br />"Is the "user" who edits the slide the same person each time"<br /><br />YES. Same user, from the same computer, every day/time.</div><div class="answer_div"><br />
<br /> <div class="solution_text"># Solution 8</div>
<br /> <br /><p>Ok, I *think* I understand your problem. I suggest that the local computer be set up so the user has permanent remote access at any time (in other words, the "locel user" doesn't have to manually allow the access each time). Then, the user needs only log into the local machine whenever he needs to, make the changes, and exit. If might make things easier if you don't use PowerPoint, since -- as you point out -- there might be a problem with displaying it full screen and then log out remotely. You might get around this problem (if it indeed is a problem), by leaving the display as a PDF, or even an image. The user can change the text in the template document (perhaps a Word documment), and then create a PDF each time from that. Another alternative is to create the Word doc, and then save it as an image, which you can display, perhaps even as a desktop image that will simply remain after the remote logout.</p><p>I hope some of these suggestions make sense in your situation. If not, let us know what problems exist with each method. Good luck.</p></div><div class="answer_div"><br />
<br /> <div class="solution_text"># Solution 9</div>
<br /> <br />Open office impress is good solution to be installed on computer to edit the slide show. You can have editable file to work, and export to pps for viewing. There is a linux version available if you wanna try to go completely free. I'm thinking that your sollution is a graphic card with possibility to connect two monitors, one to display presentation and viewable outside, and other to be available for remote connection to computer hidden inside box.</div><div class="answer_div"><br />
<br /> <div class="solution_text"># Solution 10</div>
<br /> <br />Try PowerShow: <a rel="nofollow" href="http://officeone.mvps.org/powershow/powershow.html" target="_blank">http://officeone.mvps.org/<wbr />powershow/<wbr />powershow.<wbr />html</a><br />or this:<br /><a rel="nofollow" href="http://www.accelerating.org/articles/beyondpresenterview.html" target="_blank">http://www.accelerating.or<wbr />g/articles<wbr />/<wbr />beyondpre<wbr />senterview<wbr />.html</a></div>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-502350247837293057.post-34344891028350328192009-09-21T10:29:00.003-07:002009-09-21T10:29:29.891-07:00Open Source<div class="question_div" >
<br /> <br />What is open source? Identify the open source languages. What is the intent, and how should open source product be used/not used?
<br /> </div><div id="arsh_ads_div">
<br /> </div><div class="answer_div"><br />
<br /> <div class="solution_text"># Solution 1</div>
<br /> <br /><a rel="nofollow" href="http://en.wikipedia.org/wiki/Open_Source" target="_blank">http://en.wikipedia.org/wi<wbr />ki/Open_So<wbr />urce</a></div><div class="answer_div"><br />
<br /> <div class="solution_text"># Solution 2</div>
<br /> <br /><a rel="nofollow" href="http://opensource.org/docs/osd" target="_blank">http://opensource.org/docs<wbr />/osd</a></div><div class="answer_div"><br />
<br /> <div class="solution_text"># Solution 3</div>
<br /> <br />example of open source is <a rel="nofollow" href="http://oscommerce.com/" target="_blank">http://oscommerce.com/</a> </div><div class="answer_div"><br />
<br /> <div class="solution_text"># Solution 4</div>
<br /> <br />>> Identify the open source languages. What is the intent, and how should open source product be used/not used?<br /><br />Sounds like a college question :) ?<br /><br />Open source basically means that the source code of the software/ product/ language is shared with you and the rest of the universe.<br /><br />It increases the community because it is free, people are able to see the code, write similar products on their own with customizations, tweak it to their needs, contribute towards enhancements in the open-source product, etc.<br /><br />As long as you have the license to use and distribute them without modifying the source-code, you can include them in your commercial project distributions.<br /><br />Unix, Linux etc are all open source.... so are languages like Java. Some of the open source products are Eclipse, Netbeans, etc.... as an example, all these products are open source (in Java):<br /><br /><a rel="nofollow" href="http://java-source.net/" target="_blank">http://java-source.net/</a></div><div class="answer_div"><br />
<br /> <div class="solution_text"># Solution 5</div>
<br /> <br />Open source software is similar in idea to "free software" but slightly less rigid than the free software movement. Users of open source software are (generally) able to view the source code, alter and re-distribute open source software. There is however less of an emphasis in the open source movement on the right of information and source code to be free and in some cases companies are able to develop proprietary products based on open source ones.<br /><br /><a rel="nofollow" href="http://www.google.com/search?hl=en&safe=off&defl=en&q=define:Open+source&sa=X&oi=glossary_definition&ct=title" target="_blank">http://www.google.com/sear<wbr />ch?hl=en&s<wbr />afe=off&de<wbr />fl=en&<wbr />q=de<wbr />fine:Open+<wbr />source&sa=<wbr />X&oi=gloss<wbr />ary_defini<wbr />tion&ct=ti<wbr />tle</a><br /><br />or search with google exactly like define:Open source will give plenty of results<br /><br /><br />how to use can find here at <a rel="nofollow" href="http://www.opensource.org/licenses/lgpl-license.php" target="_blank">http://www.opensource.org/<wbr />licenses/l<wbr />gpl-licens<wbr />e.php</a><br />a plenty of text how to use and distribute etc etc<br /><br />sun4sunday<br />sun4sunday</div><div class="answer_div"><br />
<br /> <div class="solution_text"># Solution 6</div>
<br /> <br />"open source languages?" That doesn't quite seem right to me...<br /><br />Do you mean programming languages or human languages? All human languages are open source, in a way.<br /><br />Any language that has a public standard is one that can be used in Open Source. C, Assembler, etc.<br /><br />Some higher-level languages, the so-called "4GL" languages, are Open Source, and are themselves written in C or Assembler. These include the aforementioned Java, Perl, and the like. Even closed-source languages like Visual Basic is written in C or Assembler.<br /><br />That's why one of the sets of core libraries in any Posix-based system are the C libraries.<br /><br />There are open-source "frameworks" like Mono that let closed-source program binaries (.NET) run, unmodified in many cases.</div><div class="answer_div"><br />
<br /> <div class="solution_text"># Solution 7</div>
<br /> <br />No comment has been added to this question in more than 21 days, so it is now classified as abandoned.<br /><br />I will leave the following recommendation for this question in the Cleanup topic area:<br /> Split: jkr {<a rel="nofollow" href="http:#18821381">http:#18821381</a>} & secondv {<a rel="nofollow" href="http:#18822522">http:#18822522</a>} & shinatykt {<a rel="nofollow" href="http:#18824699">http:#18824699</a>} & mayankeagle {<a rel="nofollow" href="http:#18825839">http:#18825839</a>} & sun4sunday {<a rel="nofollow" href="http:#18841146">http:#18841146</a>} & ShineOn {<a rel="nofollow" href="http:#18914855">http:#18914855</a>}<br /><br />Any objections should be posted here in the next 4 days. After that time, the question will be closed. <br /><br />Venabili<br />EE Cleanup Volunteer</div><div class="answer_div"><br />
<br /> <div class="solution_text"># Solution 8</div>
<br /> <br />Forced accept.<br /><br />Computer101<br />EE Admin</div>Unknownnoreply@blogger.com1tag:blogger.com,1999:blog-502350247837293057.post-36308093682845260272009-09-21T10:29:00.001-07:002009-09-21T10:29:20.329-07:00How do i increase performance of Java Desktop application dbase con...<div class="question_div" >
<br /> <br />Hi :<br /><br />I am currently working with desktop application , is there any way to capture the data from the database and store it temporarily and use it wherever necessary in the Desktop application.<br /><br />I mean something that works similar to cache or session in the web application , i need a solution for desktop application.<br /><br />Thanks in Advance,<br />silviya<br />
<br /> </div><div id="arsh_ads_div">
<br /> </div><div class="answer_div"><br />
<br /> <div class="solution_text"># Solution 1</div>
<br /> <br />Hi joanesilviyaj,<br /><br /> I have attached a snip code that function closely to web session.<br />It uses hashtable to store data. And you can save the hashtable to<br />a text file before the application exit and read it again when the<br />application start.<br />
<br /> <br />
<br /> <span class="code_text">CODE Snippet :</span>
<br /> <div class="code_bg" style="overflow:auto;border:1px solid black;height:300px">
<br /> <pre><br /> <pre id="codeSnippet205038" class="prettyprint">import java.util.*;
<br />import java.io.*;
<br />import java.beans.*;
<br />class AppSession
<br />{
<br /> // save session to a file
<br /> static public Hashtable<String, String> getSession(String file) throws Exception
<br /> {
<br /> FileInputStream fstream = new FileInputStream(file);
<br /> // Get the object of DataInputStream
<br /> DataInputStream in = new DataInputStream(fstream);
<br /> BufferedReader br = new BufferedReader(new InputStreamReader(in));
<br /> StringBuffer sb = new StringBuffer();
<br /> String strLine = null;
<br /> //Read File Line By Line
<br /> while ((strLine = br.readLine()) != null)
<br /> sb.append(strLine);
<br /> //Close the input stream
<br /> in.close();
<br /> // decode to hashtable
<br /> ByteArrayInputStream bis = new ByteArrayInputStream(sb.toString().getBytes());
<br /> XMLDecoder decoder = new XMLDecoder(bis);
<br /> Hashtable<String, String> session = (Hashtable<String, String>)decoder.readObject();
<br /> decoder.close();
<br /> return session;
<br /> }
<br /> // read session from a file
<br /> static public void setSession(Hashtable<String, String> session, String fileName) throws Exception
<br /> {
<br /> // encode to xml
<br /> ByteArrayOutputStream bos = new ByteArrayOutputStream();
<br /> XMLEncoder encoder = new XMLEncoder(bos);
<br /> encoder.writeObject(session);
<br /> encoder.close();
<br /> String encode = new String(bos.toByteArray());
<br /> // ensure parent directory exist
<br /> File file = new File(fileName);
<br /> String parentPath = file.getParent();
<br /> if( parentPath!=null )
<br /> {
<br /> File fileParent = new File(parentPath);
<br /> fileParent.mkdirs();
<br /> }
<br /> // create file
<br /> FileWriter fstream = new FileWriter(fileName);
<br /> BufferedWriter out = new BufferedWriter(fstream);
<br /> out.write(encode);
<br /> out.close();
<br /> }
<br /> static public void main(String arg[]) throws Exception
<br /> {
<br /> Hashtable<String, String> session = new Hashtable<String, String>();
<br /> session.put("Key1","Value1");
<br /> session.put("Key2","Value2");
<br /> session.put("Key3","Value3");
<br />
<br /> // for debugging: before
<br /> System.out.println(session);
<br /> // save session
<br /> setSession(session, "c:/session.txt");
<br /> // read session
<br /> session = getSession("c:/session.txt");
<br />
<br /> // for debugging: after
<br /> System.out.println(session);
<br />
<br /> }
<br />}</pre><br /> </pre>
<br /> </div></div><div class="answer_div"><br />
<br /> <div class="solution_text"># Solution 2</div>
<br /> <br />joanesilviyaj,<br /><br />A message has been sent to some of our more experienced experts asking them to review your question. We will check back again to see if you are getting the help you need.<br /><br />This request included Experts from Open Source Programming, Database, Windows Programming, Programming Languages.<br /><br />Please do not respond to this comment; we will be monitoring your question for activity from the Experts.<br /><br />Thank you for using Experts Exchange,<br /><br />ModernMatt<br />Moderator, Experts Exchange<br /><a rel="nofollow" href="http://www.experts-exchange.com/Q_23967014.html">http://www.experts-exchang<wbr />e.com/Q_23<wbr />967014.htm<wbr />l</a></div><div class="answer_div"><br />
<br /> <div class="solution_text"># Solution 3</div>
<br /> <br />Use a cache, such as ehcache for maintaining a local copy.<br /><br /></div><div class="answer_div"><br />
<br /> <div class="solution_text"># Solution 4</div>
<br /> <br />Are you maintaining the connection? Or using a connection pool?<br /><br />Maybe it's not required<br /><br />Tim<br /><br />PS: If you want and need a cache, objects has pointed you to one of the best ;-)</div><div class="answer_div"><br />
<br /> <div class="solution_text"># Solution 5</div>
<br /> <br />Hello bluebelldiscovery:<br /><br />Thanks for the reply.Let me work on this code and see is that works for my Java desktop Applicaiton.<br /><br />Thanks a lot for taking a step to reply me...!!!!!!!<br /><br />silviya</div><div class="answer_div"><br />
<br /> <div class="solution_text"># Solution 6</div>
<br /> <br />Hi Silviya<br /><br />You are welcome. Let me know if you have any doubt.</div>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-502350247837293057.post-44214408850929005512009-09-21T10:27:00.001-07:002009-09-21T10:27:59.334-07:00Community Software<div class="question_div" >
<br /> <br />Hi there<br /><br />Anyone know any good community software preferably (open source) that has a platform (portal) containing forums, advertising/classified, blogs/article, events using single login to access this.<br /><br />It's like BOONEX.COM sort of speak BUT it'spreferably open source and focused on MEMBER. I don't whether other portal application (JOOMLAH or others) can be focused on the MEMBER.<br /><br />Thank you
<br /> </div><div id="arsh_ads_div">
<br /> </div><div class="answer_div"><br />
<br /> <div class="solution_text"># Solution 1</div>
<br /> <br />hi,<br />If you want to create a social networking site like orkut, facebook, etc... Then Boonex's Dolphin Community Builder would be an idle solution...<br />It has classifieds and all integrated within itself...<br />Link: <a rel="nofollow" href="http://www.boonex.com/products/dolphin/" target="_blank">www.boonex.com/products/do<wbr />lphin/</a><br /><br />Else you can use joomla (best opensource CMS) with many modules to customise it to your needs. Well, just consider these famous (both commercial and free ) modules for adding more stuff to your joomla site<br />* Joomla Community Builder - Community Solution<br />* Joomla FireBoard - Best Upcoming forum solution<br />* Classified Ads - Classified extension module<br />and many more... <br />Want a demo of some of them? visit this: <a rel="nofollow" href="http://www.joomlaportaldemo.com/" target="_blank">http://www.joomlaportaldem<wbr />o.com/</a><br /><br />HTH</div>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-502350247837293057.post-60940899787385563232009-09-21T10:26:00.001-07:002009-09-21T10:26:21.714-07:00Community Software<div class="question_div" >
<br />
<br /> </div><div id="arsh_ads_div">
<br /> </div>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-502350247837293057.post-58371168961973325362008-06-26T03:07:00.001-07:002008-06-26T03:07:53.756-07:00CriticismsCriticisms<br /><br />Sybase IQ is optimized for data warehouse type applications, where data is added to databases but typically not modified much if at all, and the typical access is to search through the data.<br /><br />The column based storage which enables good performance for reading through data somewhat slows down writing data (instead of just the last data object requiring updating with a row object, one data object per table column must be updated). Large volume data imports can still be reasonably efficient.<br /><br />Performance in a transactional environment, where row records are accessed and updated regularly, is significantly worse than competing transactional row-based relational databases.<br /><br />Sybase IQ is implemented at large organizations such as SEC.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-502350247837293057.post-62323005267580809642008-06-26T03:06:00.002-07:002008-06-26T03:07:17.909-07:00Column-oriented DBMSColumn-oriented DBMS<br /><br /><br />A column-oriented DBMS is a database management system (DBMS) which stores its content by column rather than by row. This has advantages for databases such as data warehouses and library catalogues, where aggregates are computed over large numbers of similar data items. [1]Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-502350247837293057.post-46415751897824857892008-06-26T03:06:00.001-07:002008-06-26T03:06:27.382-07:00DescriptionDescription<br /><br />Simplified greatly, DBMS systems are challenged with storing tabular data made up of rows and columns. Further, the set of columns is generally fixed by program design, while the number of rows is variable through use of the program. In one simple example, DBMS data might contain the following table.<br />EmpId Lastname Firstname Salary<br />1 Smith Joe 40000<br />2 Jones Mary 50000<br />3 Johnson Cathy 44000<br /><br />This simple table includes an employee identifier (EmpId), name fields (Lastname and Firstname) and a salary (Salary).<br /><br />Modern computer systems simplify the details of underlying storage down to a one-dimensional storage space, using a single numerical address to refer to a location. This is true for random access memory, hard disk drives, and other computer storage media. DBMS systems therefore must orient their data by flattening it onto a one-dimensional address space. Combine the common expectation for a fixed number of columns and a variable number of rows with the mapping from two dimensions to one, and we arrive at a column or row oriented classification.<br /><br />A row-oriented implementation of a DBMS would store every attribute of a given row in sequence, with the last entry of one row followed by the first entry of the next.<br /><br /> 1,Smith,Joe,40000;2,Jones,Mary,50000;3,Johnson,Cathy,44000;<br /><br /><br />A column-oriented implementation of a DBMS would store every attribute of a given column in sequence, with the column values for the same column stored in sequence, with the end of one column followed by the beginning of the next.<br /><br /> 1,2,3;Smith,Jones,Johnson;Joe,Mary,Cathy;40000,50000,44000;<br /><br />It is important to recognize that modern DBMS systems are not so simply column-oriented or row-oriented as in the simple example above, since partitioning, indexing, caching, materializing views, OLAP cubes, and transactional systems such as write ahead logging or multiversion concurrency control all dramatically affect physical organization of DBMS data. That said, OLTP focused RDBMS systems are more row-oriented, while OLAP focused systems are a balance of row-oriented and column-oriented.Unknownnoreply@blogger.com1tag:blogger.com,1999:blog-502350247837293057.post-60894067259822869372008-06-26T03:05:00.001-07:002008-06-26T03:05:46.718-07:00BenefitsBenefits<br /><br />Comparisons between row-oriented and column-oriented systems are typically concerned with the efficiency of hard-disk access for a given workload, as seek time time is incredibly slow compared to the other delays in computers. Further, because seek time is improving at a slow rate relative to cpu power (see Moore's Law), this focus will likely continue on systems reliant on hard-disks for storage. Following is a set of over-simplified observations which attempt to paint a picture of the trade-offs between column and row oriented organizations.<br /><br /> 1. column-oriented systems are more efficient when an aggregate needs to be computed over many rows but only for a notably smaller subset of all columns of data, because reading that smaller subset of data can be faster than reading all data.<br /> 2. column-oriented systems are more efficient when new values of a column are supplied for all rows at once, because that column data can be written efficiently and replace old column data without touching any other columns for the rows.<br /> 3. row-oriented systems are more efficient when many columns of a single row are required at the same time, and when row-size is relatively small, as the entire row can be retrieved with a single disk seek.<br /> 4. row-oriented systems are more efficient when writing a new row if all of the column data is supplied at the same time, as the entire row can be written with a single disk seek.<br /><br />In practice, row oriented architectures are well-suited for OLTP-like workloads which are more heavily loaded with interactive transactions. Column stores are well-suited for OLAP-like workloads (eg. data warehouses) which typically involve a smaller number of highly complex queries over all data (possibly terabytes).Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-502350247837293057.post-66405333619236466042008-06-26T03:04:00.000-07:002008-06-26T03:05:19.174-07:00Storage efficiency vs Random AccessStorage efficiency vs Random Access<br /><br />Column data is of uniform type; therefore, there are some opportunities for storage size optimizations available in column oriented data that are not available in row oriented data. For example, many popular modern compression schemes, such as LZW, make use of the similarity of adjacent data to compress. While the same techniques may be used on row-oriented data, a typical implementation will achieve less effective results. Further, this behavior becomes more dramatic when a large percentage of adjacent column data is either the same or not-present, such as in a sparse column (similar to a sparse matrix). The opposing tradeoff is Random Access. Retrieving all data from a single row is more efficient when that data is located in a single location, such as in a row-oriented architecture. Further, the greater adjacent compression achieved, the more difficult random-access may become, as data might need to be uncompressed to be read.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-502350247837293057.post-42294186678605336812008-03-20T07:20:00.000-07:002008-03-20T07:21:10.256-07:00DescriptionA DBMS is a complex set of software programs that controls the organization, storage, management, and retrieval of data in a database. A DBMS includes:<br /><br /> 1. A modeling language to define the schema of each database hosted in the DBMS, according to the DBMS data model.<br /> * The four most common types of organizations are the hierarchical, network, relational and object models. Inverted lists and other methods are also used. A given database management system may provide one or more of the four models. The optimal structure depends on the natural organization of the application's data, and on the application's requirements (which include transaction rate (speed), reliability, maintainability, scalability, and cost).<br /> * The dominant model in use today is the ad hoc one embedded in SQL, despite the objections of purists who believe this model is a corruption of the relational model, since it violates several of its fundamental principles for the sake of practicality and performance. Many DBMSs also support the Open Database Connectivity API that supports a standard way for programmers to access the DBMS.<br /> 2. Data structures (fields, records, files and objects) optimized to deal with very large amounts of data stored on a permanent data storage device (which implies relatively slow access compared to volatile main memory).<br /> 3. A database query language and report writer to allow users to interactively interrogate the database, analyze its data and update it according to the users privileges on data.<br /> * It also controls the security of the database.<br /> * Data security prevents unauthorized users from viewing or updating the database. Using passwords, users are allowed access to the entire database or subsets of it called subschemas. For example, an employee database can contain all the data about an individual employee, but one group of users may be authorized to view only payroll data, while others are allowed access to only work history and medical data.<br /> * If the DBMS provides a way to interactively enter and update the database, as well as interrogate it, this capability allows for managing personal databases. However, it may not leave an audit trail of actions or provide the kinds of controls necessary in a multi-user organization. These controls are only available when a set of application programs are customized for each data entry and updating function.<br /> 4. A transaction mechanism, that ideally would guarantee the ACID properties, in order to ensure data integrity, despite concurrent user accesses (concurrency control), and faults (fault tolerance).<br /> * It also maintains the integrity of the data in the database.<br /> * The DBMS can maintain the integrity of the database by not allowing more than one user to update the same record at the same time. The DBMS can help prevent duplicate records via unique index constraints; for example, no two customers with the same customer numbers (key fields) can be entered into the database. See ACID properties for more information (Redundancy avoidance).<br /><br />The DBMS accepts requests for data from the application program and instructs the operating system to transfer the appropriate data.<br /><br />When a DBMS is used, information systems can be changed much more easily as the organization's information requirements change. New categories of data can be added to the database without disruption to the existing system.<br /><br />Organizations may use one kind of DBMS for daily transaction processing and then move the detail onto another computer that uses another DBMS better suited for random inquiries and analysis. Overall systems design decisions are performed by data administrators and systems analysts. Detailed database design is performed by database administrators.<br /><br />Database servers are specially designed computers that hold the actual databases and run only the DBMS and related software. Database servers are usually multiprocessor computers, with RAID disk arrays used for stable storage. Connected to one or more servers via a high-speed channel, hardware database accelerators are also used in large volume transaction processing environments.<br /><br />DBMSs are found at the heart of most database applications. Sometimes DBMSs are built around a private multitasking kernel with built-in networking support although nowadays these functions are left to the operating system.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-502350247837293057.post-43216512142618038132008-03-20T07:19:00.002-07:002008-03-20T07:20:26.596-07:00Logical view and physical viewA database management system provides the ability for many different users to share data and process resources. But as there can be many different users, there are many different database needs. The question now is: How can a single, unified database meet the differing requirement of so many users?<br /><br />A DBMS minimizes these problems by providing two views of the database data: a physical view and a logical view. The physical view deals with the actual, physical arrangement and location of data in the direct access storage devices(DASDs). Database specialists use the physical view to make efficient use of storage and processing resources. Users, however, may wish to see data differently from how they are stored, and they do not want to know all the technical details of physical storage. After all, a business user is primarily interested in using the information, not in how it is stored. The logical view/user’s view, of a database program represents data in a format that is meaningful to a user and to the software programs that process those data. That is, the logical view tells the user, in user terms, what is in the database. One strength of a DBMS is that while there is only one physical view of the data, there can be an endless number of different logical views. This feature allows users to see database information in a more business-related way rather than from a technical, processing viewpoint. Thus the logical view refers to the way user views data, and the physical view to the way the data are physically stored and processed.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-502350247837293057.post-47810973005804372602008-03-20T07:19:00.001-07:002008-03-20T07:19:41.791-07:00DBMS benefits* Improved strategic use of corporate data<br /> * Reduced complexity of the organization’s information systems environment<br /> * Reduced data redundancy and inconsistency<br /> * Enhanced data integrity<br /> * Application-data independence<br /> * Improved security<br /> * Reduced application development and maintenance costs<br /> * Improved flexibility of information systems<br /> * Increased access and availability of data and informationUnknownnoreply@blogger.com0tag:blogger.com,1999:blog-502350247837293057.post-5303045997311389352008-03-20T07:18:00.000-07:002008-03-20T07:19:08.187-07:00Features and capabilities of DBMSOne can characterize a DBMS as an "attribute management system" where attributes are small chunks of information that describe something. For example, "colour" is an attribute of a car. The value of the attribute may be a color such as "red", "blue" or "silver".<br /><br />Alternatively, and especially in connection with the relational model of database management, the relation between attributes drawn from a specified set of domains can be seen as being primary. For instance, the database might indicate that a car that was originally "red" might fade to "pink" in time, provided it was of some particular "make" with an inferior paint job. Such higher arity relationships provide information on all of the underlying domains at the same time, with none of them being privileged above the others.<br /><br />Throughout recent history specialized databases have existed for scientific, geospatial, imaging, document storage and like uses. Functionality drawn from such applications has lately begun appearing in mainstream DBMSs as well. However, the main focus there, at least when aimed at the commercial data processing market, is still on descriptive attributes on repetitive record structures.<br /><br />Thus, the DBMSs of today roll together frequently-needed services or features of attribute management. By externalizing such functionality to the DBMS, applications effectively share code with each other and are relieved of much internal complexity. Features commonly offered by database management systems include:Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-502350247837293057.post-35574764739624742972008-03-20T07:17:00.002-07:002008-03-20T07:18:25.772-07:00Query abilityQuerying is the process of requesting attribute information from various perspectives and combinations of factors. Example: "How many 2-door cars in Texas are green?"<br /><br />A database query language and report writer allow users to interactively interrogate the database, analyze its data and update it according to the users privileges on data. It also controls the security of the database. Data security prevents unauthorized users from viewing or updating the database. Using passwords, users are allowed access to the entire database or subsets of it called subschemas. For example, an employee database can contain all the data about an individual employee, but one group of users may be authorized to view only payroll data, while others are allowed access to only work history and medical data. If the DBMS provides a way to interactively enter and update the database, as well as interrogate it, this capability allows for managing personal databases. However it may not leave an audit trail of actions or provide the kinds of controls necessary in a multi-user organization. These controls are only available when a set of application programs are customized for each data entry and updating function..Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-502350247837293057.post-23629453429387802182008-03-20T07:17:00.001-07:002008-03-20T07:17:52.392-07:00Backup and replicationCopies of attributes need to be made regularly in case primary disks or other equipment fails. A periodic copy of attributes may also be created for a distant organization that cannot readily access the original. DBMS usually provide utilities to facilitate the process of extracting and disseminating attribute sets.<br /><br />When data is replicated between database servers, so that the information remains consistent throughout the database system and users cannot tell or even know which server in the DBMS they are using, the system is said to exhibit replication transparency.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-502350247837293057.post-31858226719652604152008-03-20T07:16:00.002-07:002008-03-20T07:17:09.974-07:00Rule enforcementOften one wants to apply rules to attributes so that the attributes are clean and reliable. For example, we may have a rule that says each car can have only one engine associated with it (identified by Engine Number). If somebody tries to associate a second engine with a given car, we want the DBMS to deny such a request and display an error message. However, with changes in the model specification such as, in this example, hybrid gas-electric cars, rules may need to change. Ideally such rules should be able to be added and removed as needed without significant data layout redesign.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-502350247837293057.post-55473451231234361762008-03-20T07:16:00.001-07:002008-03-20T07:16:35.651-07:00SecurityOften it is desirable to limit who can see or change which attributes or groups of attributes. This may be managed directly by individual, or by the assignment of individuals and privileges to groups, or (in the most elaborate models) through the assignment of individuals and groups to roles which are then granted entitlements.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-502350247837293057.post-76880136106407169782008-03-20T07:15:00.001-07:002008-03-20T07:15:33.739-07:00HistoryDatabases have been in use since the earliest days of electronic computing. Unlike modern systems which can be applied to widely different databases and needs, the vast majority of older systems were tightly linked to the custom databases in order to gain speed at the expense of flexibility. Originally DBMSs were found only in large organizations with the computer hardware needed to support large data sets.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-502350247837293057.post-57900338604406872542008-03-20T07:14:00.000-07:002008-03-20T07:15:04.717-07:00Navigational DBMSAs computers grew in capability, this trade-off became increasingly unnecessary and a number of general-purpose database systems emerged; by the mid-1960s there were a number of such systems in commercial use. Interest in a standard began to grow, and Charles Bachman, author of one such product, IDS, founded the Database Task Group within CODASYL, the group responsible for the creation and standardization of COBOL. In 1971 they delivered their standard, which generally became known as the Codasyl approach, and soon there were a number of commercial products based on it available.<br /><br />The Codasyl approach was based on the "manual" navigation of a linked data set which was formed into a large network. When the database was first opened, the program was handed back a link to the first record in the database, which also contained pointers to other pieces of data. To find any particular record the programmer had to step through these pointers one at a time until the required record was returned. Simple queries like "find all the people in Sweden" required the program to walk the entire data set and collect the matching results. There was, essentially, no concept of "find" or "search". This might sound like a serious limitation today, but in an era when the data was most often stored on magnetic tape such operations were too expensive to contemplate anyway.<br /><br />IBM also had their own DBMS system in 1968, known as IMS. IMS was a development of software written for the Apollo program on the System/360. IMS was generally similar in concept to Codasyl, but used a strict hierarchy for its model of data navigation instead of Codasyl's network model.<br /><br />Both concepts later became known as navigational databases due to the way data was accessed, and Bachman's 1973 Turing Award award presentation was The Programmer as Navigator.<br /><br />IMS is classified as a hierarchical database. IDS and IDMS (both CODASYL databases) as well as CINCOMs TOTAL database are classified as network databases.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-502350247837293057.post-54189017120437323352008-03-20T07:13:00.000-07:002008-03-20T07:14:18.699-07:00Relational DBMSEdgar Codd worked at IBM in San Jose, California, in one of their offshoot offices that was primarily involved in the development of hard disk systems. He was unhappy with the navigational model of the Codasyl approach, notably the lack of a "search" facility which was becoming increasingly useful. In 1970, he wrote a number of papers that outlined a new approach to database construction that eventually culminated in the groundbreaking A Relational Model of Data for Large Shared Data Banks.[1]<br /><br />In this paper, he described a new system for storing and working with large databases. Instead of records being stored in some sort of linked list of free-form records as in Codasyl, Codd's idea was to use a "table" of fixed-length records. A linked-list system would be very inefficient when storing "sparse" databases where some of the data for any one record could be left empty. The relational model solved this by splitting the data into a series of normalized tables, with optional elements being moved out of the main table to where they would take up room only if needed.<br />In the relational model, related records are linked together with a "key".<br />In the relational model, related records are linked together with a "key".<br /><br />For instance, a common use of a database system is to track information about users, their name, login information, various addresses and phone numbers. In the navigational approach all of these data would be placed in a single record, and unused items would simply not be placed in the database. In the relational approach, the data would be normalized into a user table, an address table and a phone number table (for instance). Records would be created in these optional tables only if the address or phone numbers were actually provided.<br /><br />Linking the information back together is the key to this system. In the relational model, some bit of information was used as a "key", uniquely defining a particular record. When information was being collected about a user, information stored in the optional (or related) tables would be found by searching for this key. For instance, if the login name of a user is unique, addresses and phone numbers for that user would be recorded with the login name as its key. This "re-linking" of related data back into a single collection is something that traditional computer languages are not designed for.<br /><br />Just as the navigational approach would require programs to loop in order to collect records, the relational approach would require loops to collect information about any one record. Codd's solution to the necessary looping was a set-oriented language, a suggestion that would later spawn the ubiquitous SQL. Using a branch of mathematics known as tuple calculus, he demonstrated that such a system could support all the operations of normal databases (inserting, updating etc.) as well as providing a simple system for finding and returning sets of data in a single operation.<br /><br />Codd's paper was picked up by two people at Berkeley, Eugene Wong and Michael Stonebraker. They started a project known as INGRES using funding that had already been allocated for a geographical database project, using student programmers to produce code. Beginning in 1973, INGRES delivered its first test products which were generally ready for widespread use in 1979. During this time, a number of people had moved "through" the group — perhaps as many as 30 people worked on the project, about five at a time. INGRES was similar to System R in a number of ways, including the use of a "language" for data access, known as QUEL — QUEL was in fact relational, having been based on Codd's own Alpha language, but has since been corrupted to follow SQL, thus violating much the same concepts of the relational model as SQL itself.<br /><br />IBM itself did only one test implementation of the relational model, PRTV, and a production one, Business System 12, both now discontinued. Honeywell did MRDS for Multics, and now there are two new implementations: Alphora Dataphor and Rel. All other DBMS implementations usually called relational are actually SQL DBMSs.<br /><br />In 1968, the [2] University of Michigan began development of the Micro DBMS relational database management system. It was used to manage very large data sets by the US Department of Labor, the Environmental Protection Agency and researchers from University of Alberta, the University of Michigan and Wayne State University. It ran on mainframe computers using Michigan Terminal System. The system remained in production until 1996.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-502350247837293057.post-30148006792372379262008-03-20T07:11:00.000-07:002008-03-20T07:12:31.480-07:00SQL DBMSIBM started working on a prototype system loosely based on Codd's concepts as System R in the early 1970s — unfortunately, System R was conceived as a way of proving Codd's ideas unimplementable[citation needed], and thus the project was delivered to a group of programmers who were not under Codd's supervision, never understood his ideas fully and ended up violating several fundamentals of the relational model. The first "quickie" version was ready in 1974/5, and work then started on multi-table systems in which the data could be broken down so that all of the data for a record (much of which is often optional) did not have to be stored in a single large "chunk". Subsequent multi-user versions were tested by customers in 1978 and 1979, by which time a standardized query language, SQL, had been added. Codd's ideas were establishing themselves as both workable and superior to Codasyl, pushing IBM to develop a true production version of System R, known as SQL/DS, and, later, Database 2 (DB2).<br /><br />Many of the people involved with INGRES became convinced of the future commercial success of such systems, and formed their own companies to commercialize the work but with an SQL interface. Sybase, Informix, NonStop SQL and eventually Ingres itself were all being sold as offshoots to the original INGRES product in the 1980s. Even Microsoft SQL Server is actually a re-built version of Sybase, and thus, INGRES. Only Larry Ellison's Oracle started from a different chain, based on IBM's papers on System R, by beating them to market when the first version was released in 1978.<br /><br />Stonebraker went on to apply the lessons from INGRES to develop a new database, Postgres, which is now known as PostgreSQL. PostgreSQL is primarily used for global mission critical applications (the .org and .info domain name registries use it as their primary data store, as do many large companies and financial institutions).<br /><br />In Sweden, Codd's paper was also read and Mimer SQL was developed from the mid-70s at Uppsala University. In 1984, this project was consolidated into an independent enterprise. In the early 1980s, Mimer introduced transaction handling for high robustness in applications, an idea that was subsequently implemented on most other DBMS.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-502350247837293057.post-34731502428901342982008-03-20T07:09:00.000-07:002008-03-20T07:11:25.633-07:00List of Database Management SystemsExamples of DBMSs include:<br /><br /> * Oracle<br /> * DB2<br /> * Sybase Adaptive Server Enterprise<br /> * Ingres<br /> * Informix<br /> * Microsoft Access<br /> * Microsoft SQL Server<br /> * Firebird<br /> * PostgreSQL<br /> * MySQL<br /> * OpenLink Virtuoso<br /> * SQLite<br /> * FileMaker<br /> * Many othersUnknownnoreply@blogger.com0