Friday, October 15, 2010

Laptop battery on some of the discussio

Laptop battery on some of the discussion (carried over a number of forums) saying one:
We love machine maintenance lithium how should be right? This problem has plagued many loyal laptop users, including me. Acer as07a72 battery In access to some information, the recent opportunity to consult a professional in a electrochemical PhD and a well-known domestic battery, deputy director of the Institute. Now a number of recently acquired knowledge and experience in writing, to satisfy our readers.
Lithium-ion battery cathode materials are usually composed of active compounds of lithium, anode is a special molecular structure of carbon. Acer aspire 4315 battery Common cathode material mainly composed of LiCoO2, charging, plus the battery cathode polarization of the electric potential to force release of lithium-ion compounds, embedded negative elements arranged in lamellar structure of carbon. Discharge, the lithium-ion from the lamellar structure of the carbon in precipitation, and positive re-combination of compounds. Lithium-ion mobile rise to a current.
Although the chemical reaction principle is very simple, but in the actual industrial production, the practical problems need to be considered much more: cathode material additives required to maintain the activity of several charge and discharge,Acer aspire 4520g battery anode material required to design the molecular structure level accommodate more lithium-ion; fill in the electrolyte between the positive and negative, in addition to stability, but also has good electrical conductivity and reduce the battery internal resistance.then under the control chip into the constant pressure phase, the voltage will not rise to ensure that no over charge and current as the battery level gradually decreased up to 0, and the final charge.


Read more: http://www.articlesbase.com/laptops-articles/laptop-battery-on-some-of-the-discussion-3189580.html#ixzz0yRDAA2t7
Under Creative Commons License: Attribution

How to Remove Defense Center Off Your PC

Defense Center comes from the same family who Protection Center and other rogue programs that use fake scan reports to convince you that you must buy a specific application. The rogue program installed on your computer through Trojan viruses, Trojan viruses that usually gets onto your computer through various vulnerabilities on the Windows operating system or via fake malware scan site. These vulnerabilities are often sealed when you update your operating system and other software, so make sure to do it regularly.

When Defense Center has been installed on your computer first, it will do is turn off your ability to open Windows Task Manager. When you no longer have access to Windows Task Manager rogue program remain silent, you will never even begin to suspect that something is wrong. With so much time has passed rogue program is active, and the machine will begin to give you problems. The first thing you will notice a number of warnings appearing on your computer, such as


Warning! Virus threat detected!
Virus Activity Detected!
Net-Worm.Win32 have been discovered. This adware module advertises websites with explicit content. Please note this content is potentially illegal. Click the button below to find and remove this threat.

All those annoying alerts are designed to make you believe that your computer is infected with some kind of virus. What you need to be aware of is that these infections are not real, but the files that you are told is the infections are actually the files needed by your operating system to run properly. The only problem on the computer, the Defense Center, which you must remove immediately.

The objective of Defense Center is to scare you into thinking your computer run over by viruses and that the only way to get rid of them is to buy Defense Center. No matter what you do not buy the program because it will only make things worse!

The only way to remove Defense Center is running a real antispyware program or remove it yourself. If you are thinking about removing the rogue program itself, you want to make sure that you are familiar with the delete registry entries, because there are a handful of registry entries that need to be deleted. Remove the rogue program manually is usually not recommended because you can make a little mistake that can ruin your computer. Run an antispyware program is the safest and easiest method to remove the Defense Center. An added advantage to install an antispyware program is that your computer is protected against future spyware infections.

Do not wait for the system to be further weakened, Clear Defense Center now! When your computer is infected with this spyware, it is important to remove it as soon as possible.

Hire Indian Developers for PHP Projects

Many companies Hire PHP Developers from India because of the excellent services provided by offshore application development India. The sophisticated programming and coding jobs are done in an accomplished manner with affordable costs.
The web application development is implemented by PHP developers quite adept at setting up and launching a website or renovating an existing one. PHP is the most favored language these days as it has many convenient open source attributes. The clients enjoy optimum sophistication, totally fulfilling utilities and aesthetically pleasing looks? All these reasonable expectations from any client are duly provided if companies hire PHP developers from India.
Someone looking to get good PHP application development outsourcing work can get in touch with Indian companies that ensure that poorly written, ineffective and complicated codes do not result in the website becoming gloomy and awkward for the users. Offshore Application Development India to hire PHP developers is more than likely to give you the right ingredient for skill and experience in PHP web development. One can get specialized PHP developers if they hire Joomla experts for advanced and easily usable website that has all the necessary elements for promoting a specific business.
There are many companies who hire PHP developers even hire web designers from India for PHP-based sites. PHP web developmentfromIndian developersis the hot favorite of lots of companies. It offers the most advantageous and lucrative solution for this kind of web development. Some companies give the perfect blend of expertise and new revitalizing talent that enables them to make available the whole range of web development tasks. This results in good looking as well as very useful websites which are geared for attaining the objectives of a business.
The highly qualified group of expertly skilled PHP developers from application development outsourcing companies fulfills all the expectations of quality PHP web development work in the most efficient way. Any specific requirement of the clients like the development of an e-commerce website is expertly implemented by the developers in a professionally proficient manner.
Any kind of application development outsourcing is available from Indian companies. To get the best kind of Offshore Application Development India services; one only has to look closely at the service and the quality of PHP web development that the outsourcing company has on offer. If these services are provided in a 24 x 7 support, it's a great help if you consider the time zone differences and more importantly, the clients can examine the web development work as it gets implemented.


Read more: http://www.articlesbase.com/programming-articles/hire-indian-developers-for-php-projects-3182201.html#ixzz0yRZhqsVa
Under Creative Commons License: Attribution

Loadrunner scripter

Before knowing who is a load scripter and what all does he do, it would be better to have a peek into load testing. Load testing is basically used to test if the applications work well with the loads that result from a large number of transactions and simultaneous users. A Load tester is the one who determines whether a particular application will be able to handle the peak usage periods. Now coming to a Loadrunner scripter, he is the one who creates and debugs the Loadrunner script in order to know the performance metrics and at help in evaluating performance of a system.

Duties Performed By A Loadrunner Scripter Explained

The duty shell of a Loadrunner scripter is a complex one as the person doing all this needs to remain aware of the latest technologies. A capable Loadrunner scripter is the one who has the efficiency and expertise to manage load runner scripts across different application versions. Doing and understanding Loadrunner scripting is not as easy as comprehended by many as it involves duties such as inputting data creation, setting up the different load runner monitoring tools, setting up the load runner execution scenarios and lastly collating test execution monitoring data.

To know whether a load runner tester is aware with the entire Loadrunner scripting, it would be better to know if he or she holds familiarity with analyzing the returns of a run and awareness with the process of creating test harnesses.

Loadrunner Scripter Who Knows In And Out Of Loadrunner Scripting-Is An Asset

Not everyone is aware of the performance related technicalities and this is the reason that hiring a Loadrunner scripter is always advisable in these conditions. A good Loadrunner scripter is the one who is completely aware with the data warehousing and job stress testing methodologies as these form a crucial part of Loadrunner testing. A Loadrunner scripter should know how to parameterize the Loadrunner script and review the parameter substitution process later. Another job area of the working of a Loadrunner scripter is to see those bottleneck areas and help in resolving them as soon as possible so that the overall performance is not compromised die to this tiny issue.

The job of a Loadrunner scripter is somewhat different from a load runner tester and this is one basic thing that the organizations hiring professionals for this purpose need to know. A Loadrunner scripter is the one who manages the load runner script where as a tester is the one who carries out the testing process. Loadrunner scripting is an integral part of Loadrunner testing and this is why one needs to make a pick that is worth and good from all the aspects.

Wireless Internet Providers For HP Netbooks

Laptop computers are devices that many people throw out the world own and use daily in order to do their work. With the help of a laptop computer, users can work and travel in the same time because of the high portability factor of the device. A laptop computer can be carried everywhere at anytime by their owners because they are small and lightweight. When purchasing such a device, people must first know it meaning. Knowing the activities at what you will use the laptop computer is very important because everyone of us has a different need and requires certain devices. On the market we can find many laptop computer manufacturers and all people can buy one based on their daily needs. Before buying such a device, as I said above you must know the activities you will use it. Such a device offers its user numerous advantages that come in help in their daily activities.
Nowadays, the number of laptop computer users is getting bigger and bigger and almost all of them browse the Internet with the help of their device. The Internet is the best place where people can find all the things that they need and want such as Hp pavilion dv6000 battery, Hp Pavilion dv9000 battery(Hp dv9000 battery) and with its help, a large part of our work is done in a fast and efficient way. Connecting to the Internet is very simple. You can choose between a local Internet provider or a wireless connection that can be private or public. From my point of view, the best way to connect to the Internet is throw a wireless connection because you do not require different cables to plug in different ports. One of the most popular laptop computer manufacturers is Hewlett-Packard or more known as HP. HP is a manufacturer that is known all over the world and many people are very pleased with their products.
The Wi-Fi providers for HP mini notebooks are numerous and people can choose the one that fits their needs and budget the best. As I said above, wireless connections are of two ways: public and private. The private connections are those that can be found by any device that comes equipped with a wireless device but people can't connect to them because they must enter a password that they do not know if their connection isn't theirs. Most laptop computer users that have the possibility to connect to a wireless connection, tend to connect to those that are public because they can be found in many places throw out cities and most important they are free and you can do their work just fine. The Wi-Fi providers for HP mini notebooks can be found everywhere because mostly every IT company offers such services
So, Wi-Fi providers for HP mini notebooks can be found in many places, all that you have to do is to go to their headquarter and choose a deal that fits your daily needs and budget the best.

Tips Untuk Mahasiswa

1.Berprestasi di Awal Semester
Buatlah prestasi akademik pada semester pertama. Awal yang baik bisa menjadi pemicu uintuk terus berprestasi di semester-semester berikutnya. Yaaa, itung-itung tabungan IP kalo-kalo di semester berikutnya dapet IP jelek. Hehehe...
2.Selektif Memilih Teman

Wira Dharma
Kemandirian di perguruan tinggi membuat pergaulan sesama mahasiswa cenderung bersifat individualistis. Apalagi kalo kuliahnya tidak memerlukan kelompok, seperti praktikum misalnya. Teman diperlukan untuk belajar, berdiskusi, mengerjakan tugas-tugas kuliah, atau mendapatkan informasi. Karena teman memberikan pengaruh yang cukup besar, maka pilihlah teman yang cocok dan bisa menunjang studimu. (So… cari temen yang tajir, baik dan pinter).

3.Kenali Seniormu

Rizky Kustiani Dalam Sidang
Bersikap baik dan sopanlah terhadap senior. Bukan berarti senior-senior itu gila hormat. Mereka akan lebih bersimpati jika kamu bisa menghargai mereka. Gunanya agar kamu mudah memperoleh pinjaman buku plus soal-soal ujian tahun lalu. Di samping itu kamu bisa mendapatkan berbagai informasi, baik itu tentang dosen, mata kuliah, dan banyak hal lainnya yang berhubungan dengan kuliah. (Hehehe.. pengalaman pribadi)

4.Manfaatkan Perpustakaan
Sering-seringlah mengunjungi perpustakaan. Perpustakaan adalah gudangnya ilmu dan informasi. Apalagi kalau kamu bisa meminjam buku-buku kuliah dari situ. Lumayan, kan untuk menghemat uangmu!.
5.Jangan Jadi Mahasiswa Pasif
Setelah menjadi mahasiswa, hindarilah rutinitas : kampus – kantin – rental PS - kost/ rumah. Ikutilah aktivitas-aktivitas di luar jadwal kuliahmu. Di perguruan tinggi ada begitu banyak kegiatan yang bisa kamu ikuti. Mulai dari kegiatan keagamaan, olah raga, fotografi, pencinta alam, teater. Pilihlah organisasi yang sesuai dan cocok dengan minat dan bakatmu. Lebih bagus kalau orgnisasi itu bisa menunjang studimu.

6.Mengatur Waktu
Kebebasan yang kamu dapat di perguruan tinggi membuat kamu berhak mengatur studimu sendiri. Apakah mau diselesaikan dengan cepat, sedang atau bahkan lambat. Tapi ingat, masing-masing universitas memiliki batas waktu studi maksimum. Maka pandai-pandailah mengatur waktu antara kuliah dengan kegiatan-kegiatan ekstern. Sempatkan waktu untuk belajar dan mengerjakan tugas-tugas di sela-sela kegiatanmu. Jangan pernah menerapkan SKS (Sistem Kebut Semalam) ketika menghadapi ujian. Selain hasilnya tidak maksimal, cuma akan mengganggu kesehatan saja (kecuali terpaksa.. hehehe).

7.Jangan Ketinggalan Informasi
Informasi sangat penting bagi seorang mahasiswa. Apakah itu informasi tentang jadwal kuliah, kegiatan-kegiatan kampus, beasiswa, jadwal pengisian KRS.

8.Jaga Kesehatan
Kesehatan sangat mempengaruhi prestasi belajar. Gangguan kesehatan akan menyebabkan turunnya kemampuan belajar yang selanjutnya membuat prestasimu merosot. Bahkan yang lebih buruk bisa menggagalkan studimu di tengah jalan.Aturlah kapan waktunya kamu makan, kapan belajar, kapan istirahat, kapan berolah raga (dan kapan harus pacaran.. hua ha ha). Setelah kamu tetapkan, maka laksanakanlah dengan disiplin.

9.Pertahankan Motivasi
Sering seorang mahasiswa merasa tidak mampu mengikuti kuliah tertentu padahal ia belum mencobanya. Akibat keyakinan yang telah ditanamkannya itu maka ia gagal dalam mata kuliah yang bersangkutan. Untuk meraih prestasi yng baik, maka harus ditanamkam motivasi dan keyakinan diri yang kuat di dalam diri bahwa kamu sanggup mengikuti kuliah itu. Dengan demikian setiap permasalahan yang timbul dalam perkuliahan dapat kamu atasi dan kamu pun lebih bersemangat kuliah. (Widiih.. mantab bro).

Introduction to Data Communications

Understanding Data Communications
Data communication is the transmission of electronic data through multiple media. Media is a coaxial cable, fiber optic, microwave, etc..
Functions Data Communications System
1. Providing Information to the appropriate oaring in a timely manner.
2. Getting a business data while the data is created (online)
3. Data communications system enabling people and businesses that have different geographic locations can berkomunukasi each other.

Three Main Components
1. Source Communications
2. Media Communications
3. Recipient

Understanding Computer Networks
• Networking is a series of several points which are connected by some type of communication channel.
• Komunikasidata network is a collection of data communication circuits which are managed as a single entity.

Terminal
o Microcomputer workstations
Micro general-purpose computer or workstation input / output and CPU smart circuit.
o Remote Job Entry Terminal
Terminals are used in a batch by using punched cards.
o Terminal Facsimile (FAX)
Terminals that can transmit an appropriate image from hard copy documents via telephone lines and satellite circuits around the world
o POS terminals (Point Of Sale)
Terminal commonly used in supermarkets, shops and department stores. Terminal TSB equipped with a system for purchase transactions and allows the database to reflect the status of the company at that time.
o Dumb Terminal / Intelligent
Dumb Terminal is a video terminal that does not take part in the control and processing tasks. Intelligent Terminal is equipped with a CPU. All of the above except the fax terminal can be either dumb terminals or intelligent.
MODEM
Modem is an electronic tool that can modify (modulate) the digital communication between the computer into tones that can be transmitted through telephone lines. The data is received and then converted from voice into digital information.
Cluster Control Unit
This tool is used to make the connection between the terminal which is controlled by other equipment.
Multiplexter
Tool that allows the replacement of some low transmisikecepatan path with high-speed transmission lines.
Front-End Processor
Front-End Processor conduct data communications traffic in and out. Both devices can be different types, common configuration is a special type of minicomputer that functions as a front-end processor and the mainframe as a host.
Host
Host to process incoming messages Datacom after processing the data can be transmitted back to the front-end processor.

Software in Host
Datacom software in the Host called the monitor Telecoummunication
TCM Capabilities
o Placing messages in a particular order of priority in accordance with
o Running the security function by maintaining the activity logs for each terminal
o As an interface between the network and Datacom DBMS
o Dealing with disturbances in the processing

Software in the Front-End Processor
Datacom software in front-end processor called the Network Control Program or NCP
NCP Functions
• Determine whether the terminal using the channel
• Maintain record channel activity
• Change the code used by one type of equipment to another code (IBM  DEC)
• Editing functions on the data
• Adding and deleting codes rotation
• Maintaining the history file on the network & statistical

Network Topology
1. Ring Network
• Computers connected to one another invitation to form a circle (ring).
• The data run only one direction around the circle so until dialmat target.
• If one participant in the Ring is destroyed, then the relationship continued to the next computer.
• Jaringanring costs are usually cheaper than the Star and Hybrid network

2. Star Network
• Computer network participants connected with one central computer (Central Device Control).
• Central computer receives data packets from computers on the network and continue to send the packet to the destination computer.
• The advantage of this network is the distance required to send packages from one node to other nodes very quickly.
• Hub in the middle must be highly reliable, when the central station is damaged then the whole network can not be executed.

3. Bus Network
• Computers connected by a cable, data is transferred from one computer to another computer through a bus.
• Every computer on the bus can read and check the data packet addresses of packets apkah TSB TSB in accordance with the address of the computer. When appropriate, the package is taken.
• The loss of one node will not affect the existing network.

4. Hybrid Networks
• Contain more than one topology
• This topology is required to integrate systems of different topology-based

LAN
• Connecting the equipment is limited to small geographic areas.
• Actual distance depends on the LAN can be achieved certain implementations, such as an office space, a single building or group of buildings.
• Implemented for the transfer of data between users in the network and use the equipment together (printer, scanner, fax, plotter, etc.).

OSI (Open Systems Interconnection)
ISO (International Standards Organization), which makes technical recommendations about OSI recommends data communications interface 70 years.
The goal:
To develop a standard framework for computer to computer communications.
There are seven layers:
1. Physical Layer
Physically moving bits of data between the modem and turn on and off the circuit.
2. Data Link Layer
Formatting the data into records called the frame, the detection and correcting errors, running the modem control data flow.
3. Network Layer
Develop, maintain and disconnect communication between the transmission and receiver nodes
4. Transport Layer
Responsible for generating addresses that end users can communicate with the host and ensure that all data packets can be accepted.
5. Session Layer
Managing and supporting the communication dialogue between the two separate locations. These layers start, maintain and terminate each session that contains the frames that have a special activity.
6. Presentation Layer
Receive data from the application layer and data format so that it can be represented to the user or host. Functions that can be run is the encryption of data, code converter, compression and formatting the terminal layer.
7. Application Layer
Controlling user input from a terminal and run user application programs on the host. Equipped with network services like file transfer, terminal emulation, storage into a file server.
Data processing based on its use
1. Batch Processing
Data processing done by the group.
Usually file renewal is done every day.
2. Online Processing
Data processing is conducted separately.
If there is a change of data is done directly.
Real Time System
Real-time system is a special type of online system where transactions are conducted in real time.
Era before the database (Using a traditional file)
• Data are not yet integrated
• There are duplications
• Inconsistent
• Data security is less reliable
• No Standard
Cumulative average Aktivitan Data
• Collecting data
• Verification
• Storage
• Security
• Organizing
• Callings
Secondary storage
1. Sequential storage
Storage media that can be loaded or accessed only with a specific arrangement. The first record should be accessed first, then followed by a record - the next record.
Equipment called the SASD (Serial Access Storage Device). Example: tape
2. Storage Direct
Storage media that can be accessed directly.
Fittings called DASD (Direct Access Storage Device). Example: magnetic disks, optical disks.
Software
Collection of programs - programs used to control the system.
Utilities program
Perform functions required by all users of specific computers. Utility program can perform the function without the need for programming.
Operating Systems
Set the computer process that serves as an interface between users, software and hardware.
Function - the function of the operating system is:
• Scheduling jobs
• Manage hardware and software
• Providing security systems
• Dealing with interruptions
• Maintain usage records
• Allows multiple users to use the computer together.
Language Translator
• First generation language - machine language
• Second Generation Language - assemblers
• Third Generation Languages - Compiler and Interpreter
• Fourth Generation Languages - Natural language

How to monitor internet usage without a manageable switch?

What is port mirroring?
Usually, a computer connected to a switch or a router can only receive its own packets. A switch with port mirroring allows you to monitor network traffic from a mirroring port.
With port mirroring enabled, the switch sends a copy of all network packets seen on one port (or an entire VLAN) to another port, where the packet can be analyzed.
How to monitor network without port mirroring?
There're three methods to monitor your network without port mirroring.
1. Using a broadcasted Hub
A broadcasted hub is a data packet repeater commonly used in broadcast networks.
Most broadcasted hubs provide a uplink port to connect with a up layer device. You shall connect the up layer device to the uplink port of the hub (Note: Do not use the port next to the uplink port).
However, most broadcasted hubs only work in 10Mb speed, and all the computers connected to the hub will share the bandwidth, and it is unstable. So we recommend you use a manageable switch instead.
2. Windows Gateway, Proxy Server or Bridge
Windows Gateway
If a port mirroring switch is unavailable, you can setup a windows gateway in your network edge. By using an internet monitoring/filtering product in this windows gateway,
you will be able to monitor all internet traffic.
How to configure Windows 2008 Server IP Routing?
Proxy Sever
A Proxy Sever is a computer that offers a computer network service to allow clients to make indirect network connections to other network service.
Like the gateway solution, you also can do monitoring/filtering in the proxy server. To make things simple, some proxy servers have monitoring/filtering modules integrated,
while some monitoring/filtering programs also have a proxy module integrated.
For example, you can easily enable the proxy server service in WFilter enterprise. For more details about WFilter proxy settings, please check:
http://www.imfirewall.us/help/doc/deploy_proxy.htm

Computer hardware

Computer hardware is a physical part of a computer that executes within the hardware. It is unlike computer software or data that can be frequently changed, modified or erased on a computer. Computer hardware is not frequently changed and so is stored in hardware devices such as read only memory (ROM) where it is not readily changed.
Most computer hardware is embedded and so is not visible to normal users. Below are the different types of hardware's found in a computer.
Ø Motherboard: It is the central or primary circuit board making up a complex electronic system such as a computer. A motherboard is also known as a main board, logic board or system board.
Ø Central processing Unit: A CPU is the main component of a digital computer that interprets instructions and process data in computer programs.
Ø Random Access Memory: A RAM allows the stored data to be accessed in any order. RAM is considered as the main memory of the computer where the working area is used for displaying and manipulating data.
Ø Basic Input Output System: BIOS prepares the software programs to load, execute and control the computer.
Ø Power Supply: Power Supply supplies electrical energy to an output load or group of loads.
Ø Video Display Controller: It converts the logical representation of visual information into a signal that can be used as input for a display medium.
Ø Computer Bus: It is used to transfer data or power between computer components inside a computer or between computers.
Ø CD-ROM drive: It contains data accessible by a computer
Ø Floppy disk: It is a data storage device
Ø Zip Drive: It is a medium capacity removable disk storage system.
Ø Hard Disk: It is a non-volatile data storage system that stores data on a magnetic surface layered unto hard disk platters.
Isabella Rodrigues writes for compatibleinkjetcartridge.info,
offering the latest information on cartridges, visit them today for more best
buy printer cartridges.
Visit today: http://www.compatibleinkjetcartridge.info

8 Things to Know About MySQL Programmer Starter

1. 1. Table MySQL is not an array
2. 2. Language SQL and MySQL Functions
3. 3. LIMIT, LIMIT, LIMIT
4. 4. Data Types
5. 5. Normalization and Modelling
6. 6. Index
7. 7. Concurrency, locking, and transactions
8. 8. Type Table
9. Cover

Time and again I am amazed at how bad the Successful software packages are out there. Apache is Easily outperformed by fnord, Is not even a real MySQL database, PHP Zend is so slow That actually made a business model out of selling performance enhancing hacks for it.-Diary Fefe
PHP + MySQL. Who does not know that this duo is a pair lovebirds popular in the open source world, even across the Internet. PHP has shifted Perl as a language of choice in creating Web applications, especially for beginners. And PHP is almost always side by side with MySQL; 90-95% + PHP scripts in www.hotscripts.com might read "requires PHP and MySQL." PHP books, including beginners, will not be considered afdol if not discussing MySQL. And programmers, slow or fast, willing or unwilling, it will be mengakrabi this one database software.
Unfortunately, many programmers have been playing around and using MySQL for a live performance at the production site, while still completely alien to the concept of relational databases. Even MySQL actually also has many deficiencies in terms of SQL features. So that programmers can not understand and exploit the full power + SQL relational database.
Create your beginner programmers who are still common in the MySQL database and the concept in general, need not feel inferior or afraid. In the IT world moves this fast-paced that there are too many things to learn. And most would learn as you go along, as he practiced. When he began to build a CMS for any satunet.com year 1999, I have only limited skills on SQL: SELECT only know, UPDATE, DELETE,CREATE TABLE, and DROP TABLE. What is JOIN, how to change the table schema, how to design a good database and normalized, everything is still blank. And all must learn as we go along. But still the end all was fine.
Through this article we will discuss what basic things you need to know in order to use MySQL with effectively and efficiently. Let's start with the case number one:
1. MySQL table is not an array
PHP or Perl programmer of course familiar with arrays and hashes, which are usually used to store a set of related data. Some of those who are not familiar with MySQL database tables will likely menganalogikan with array / hash (actually, an array of arrays or an array of two-dimensional). Table considered the same as an array, only once can be large and persistent (stored on disk).
This outlook is not entirely wrong, because after all in taking the records from the table is usually stored in the variable array / hash. Only, this perspective sometimes makes programmers do something like:
$ Res = mysql_query ("SELECT * FROM t1");
$ Rows = array ();
while ($ row = mysql_fetch_row ($ res)) $ rows [] = $ row;
echo "Number of records in the table t1 =", count ($ rows);
or create a table such as:
CREATE TABLE t2 (
F0 unsigned INT PRIMARY KEY AUTO_INCREMENT,
f1 int unsigned,
f2 VARCHAR (5),
F3 VARCHAR (200),
F4 VARCHAR (200),
F5 BLOB
);
What's wrong with the first PHP code above, which aims to find the number of records in a table? The programmers, who are too obsessed consider MySQL table as an array, try to build the first arraynya by filling out one by one element of the query results that later can use an array function count (). The problem is, what if the number of records there are 100 thousand? 1 million? 10 million? Not only that, finished in-count () the variable $ rows directly dumped again! In fact, there is a much more efficient way:
SELECT COUNT (*) FROM t1
Results querynya is a record only, no matter what the size of table t1.
Then what is wrong with both the SQL code? The programmers of Perl, in this case, obsessed with taking every record in the table with the function of DBI $ STH-> fetchrow_array ()
@ Row = $ STH-> fetchrow_array ();
print $ row [0]; # F0
print $ row [1]; # f1
print $ row [2]; # f2
# ...
Good is not it? Element 0 contains the value of the field F0, the first element of field f1, and so on. The problem was sacrificing ease of field names which is not very descriptive. Not to mention if the table needs to be changed by inserting the other fields between existing fields. Or the old fields need to be deleted. Everything will be a nightmare.
Some readers may be shaking his head. Is it true that there are PHP and Perl programmers who do both things at the top? Believe me, there. I never had to maintain ketiban sap cryptic table with field names like this.
2. Language SQL and MySQL Functions
SQL database MySQL is not it? Unfortunately, novice programmers sometimes limited his knowledge of SQL. In fact, to use the MySQL database effectively, he must not be lazy to learn a second language, namely SQL. If you do not learn SQL, then it is likely you will do things like:
$ Res = mysql_query ("SELECT * FROM Bigtable");
while ($ row = mysql_fetch_assoc ($ res)) (
if ($ row ['age']> = 40) (
echo "Found customers aged over 40 years! \ n";
break;
)
)
What's wrong with the code above? The PHP programmer trying to simulate a SQL WHERE clause with the testing conditions in the PHP code. Actually, that should be done is:
Bigtable SELECT * FROM WHERE age> = 40
This is a very save traffic client / server because not all the records must be sent from MySQL into your PHP program.
Some readers may be shaking his head. Is it true that there are programmers who like this? Believe me, there.
SQL already provides a way to sort data, format the display, grouping and filtering records, etc.. MySQL is also famous for providing many functions, ranging from the manipulation of dates, numbers, strings, etc.. Get to know SQL and MySQL functions; do this all in PHP Duplicate cause will be more efficient if done at the level of MySQL.
This is another example of PHP programmers who do not utilize the facility from MySQL:
$ Res = mysql_query ("SELECT * FROM customers");
while ($ row = mysql_fetch_assoc ($ res)) (
# Original format yyyy-mm-dd ...
preg_match ("/ (\ d \ d \ d \ d) - (\ d \ d?) - (\ d \ d ?)/", $ row [date], $ matches);
# ... and want to be dd / mm / yyyy
$ Date = "$ matches [3] / $ matches [2] / $ matches [1]";
echo "Name = $ row [name], date of birth
= $ date \ n";
)
Though MySQL has been providing formatting functions and the manipulation of dates:
$ Res = mysql_query ("SELECT name, DATE_FORMAT (date, '% d-% m-% Y') as date".
"FROM customers");
while ($ row = mysql_fetch_assoc ($ res)) (
# Do not need string manipulation fatigue more ...
echo "Name = $ row [name], date of birth = $ row [date]
\ n";
)
No points. 2 This may sound corny, but, like England's advice to say: know thy tools.
3. LIMIT, LIMIT, LIMIT
One reason why MySQL is very suitable for Web applications is to support the LIMIT clause. With this clause, it's easy to limit the number of records desired results in a single SQL command. No need to bother to play the cursor or by other means. Later, other databases such as PostgreSQL and Firebird were involved in giving support LIMIT functionality (with a syntax that is not exactly the same course).
Unfortunately, programmers are not familiar with MySQL itself well not use it properly.
$ Res = mysql_query ("SELECT name FROM users ORDER BY date");
$ Rows = array ();
for ($ i = 1; $ i <= 10; $ i + +) $ rows [] = mysql_fetch_row ($ res);
The programmer only intend to take 10 records, but told MySQL retrieve all existing records first. What if there are one hundred thousand records? 1 million records? 10 million? Should, every time you want just one, ten, fifteen records, you need to tell MySQL LIMIT clause passed.
SELECT name FROM users LIMIT 10 ORDER BY date
So that we can save the communication traffic of client / server and MySQL allow optimization of the query.
4. Data Type
Unlike PHP and skripting languages that allow us to put everything in a $ variable without the type declaration in advance, in MySQL we need to declare the data types of all fields that exist at the time of making a table. A programmer who does not know PHP MySQL sometimes tend to choose the wrong type of data (generally: choosing VARCHAR () when there are more appropriate data type) due to not knowing the types of data available.
Here are some examples of inappropriate selection of data types: a) selecting CHAR (8) or VARCHAR (10) instead of DATE to save the date; disadvantages, more extravagant places and could not take advantage of special functions date; 2) selecting CHAR (3) or CHAR (6) rather than TINYINT unsigned to store boolean data ("YES" and "NO", or "TRUE" and "FALSE"; much more efficient when expressed with 1 and 0 which only occupies one byte); 3) choose Float DECIMAL or DOUBLE instead to save money; disadvantages, Float and Double are often not based on binary and decimal fractions exactly in the store.
Number three often occur because programmers usually know only the single / double floating point numbers that are available in the programming language. Though generally databases provide a decimal-based floating rate that could save the exact decimal fractions.
MySQL manual is very helpful here; in the section on Column Types are described in detail the types of data, including a range of values that can be accommodated, how many bytes are occupied by these data types, etc..


5. Normalization and Modelling
Normalization, schema, entities, attributes, primary key (PK) and foreign key (FK), an entity table, table relationships, OLTP & OLAP ... all are terms which are common in the physical model database.Unfortunately, many novice programmers do not have the ability modeling. So if asked to design a database schema (a set of tables with field name and type) the result is not optimal even messy. Scheme of bad results in duplication of data, not scalable, poor performance, does not meet the requirements, etc..
Modeling certainly can not be taught in 1-2 days, especially in this short article. You need to read books on database modeling and learning from experience and from models that already exist. But some advice that perhaps I can give here is as follows.
One, the first step in modeling is to find an entity-entity. Entities are practically "object" that we will gelluti. For example, customers, products, and transactions. Each entity is generally placed in one table, the table is called the entity table. The second step is to look for attributes such entities. For example table greeting customers have attributes, name, address (street + city + zipcode + provincial + countries), the date record was added, and so on. The third step is to find relationships between entities-entities. Generally, the relation is one of the following: 1-1, 1-many, many-many. For example, the relationship between transactions and products is many-many, that means a purchase transaction may contain many products and of course a product can be purchased in more than one transaction. Every relationship will also be placed on the table, that table relationships.
Two, in terms of modeling there is no right or wrong model. That there is an appropriate model and is not appropriate for a particular purpose. For example, a simple model for simple applications. The more complex applications, even the more complicated model (number of entities, relationships, and attributes will increase). In general, as complexity increases, which had to be turned into an entity attribute, due to the fact 1-many/many-many relationship between attributes. For example, customers have the attribute address table. If we want to support many customers for a single address, the address will become their own entity and occupied tables. We then create a relation table-address customers.
6. Index
Index is something that is closely related to the implementation, rather than modeling. We often need to add an index on a field or many fields because if not added to the database performance does not become practical. All About indexing may also be too long to be explained in this short article, but essentially each column are: 1) have a sufficient range of values lot; 2) is located on a table containing many records; 3) is often mentioned in the WHERE clause and / or ORDER BY and / or GROUP BY; must be given to the index. This is because the index helps to find quickly a lot of value from existing values. Some examples:
* Each primary key index is generally automatically assigned by the database server, although the table still contains a few records or even empty. This is because the database should always check the existence of a value of this field whenever there is a record is added (remember, PK must not mean there are two records that contain the same value of this field). Without indexing, the checking will be linear and time-consuming.
* Field's birth date in the table customers are likely to be indexed. Even dayofyear (), this field may also need to be indexed. Why? Because: 1) the range of values large enough (365 days a year x + - 60 total years); 2) table size of potential customers; 3) is often mentioned in the WHERE clause (eg looking for customers who's birthday today).
* Field memo / notepad likely not need to be indexed (as usual). Why? Because even though a) the range of substantial value, and 2) tables can be big customers, but 3) this field is never mentioned in the WHEREclause directly (eg you never mentioned: ... WHERE pad = 'value of certain notes' or WHERE notes > 'some value'). [Note: there is another index of "unusual" in MySQL, which is FULLTEXT. But this is beyond the scope of our present article.]
* Field of sex may not need to be indexed, except if the ratio of male: female very drastic difference. Why? Cause: 1) the range of values there are only two: L (men) and P (female). Even if you give the index, will not improve performance.
7. Concurrency, locking, and transactions
Beginner web programmers sometimes do not realize that the program / script that made it is not like desktop programs run by one user. Rather, in one time there may be 10 or 100 users that "shoot" your script on the Web. Therefore, locking and concurrency issues is very important. An example is like this:
$ Res = mysql_query ("SELECT value FROM counters WHERE name = 'counter1'");
list ($ value) = mysql_fetch_row ($ res);
$ Value + +;
/ / Do something else first ...
$ Res = mysql_query ("UPDATE counter SET value = $ value WHERE name = 'counter1'");
Among the first line (when we take the value of record) and the fourth line (when we put the return value in the record) may have occurred several times on the record. For example, in the first row klien1 obtain the value $ value = 100. In the row-$ 3 value in increments to 101. But what happens if during the time interval that has become counter1 record value 103 (for example klien2, klien3, and klien4 have to incrementnya)? By the klien1, counter1 reset back to 101 and increments by klien2 consequently, klien3, and lost klien4 . Counter1 value should be 104.
For the above case, the solution is pretty easy. Perform an atomic increment:
/ / No need to take the first counter value ...
/ / Do something else first ...
$ Res = mysql_query ("UPDATE counter SET value = value +1 WHERE name = 'counter1'");
But in other cases, sometimes we have to do locking on tables or records to ensure that as long as we / / do something else ... klien2, klien3, and klien4 can not just raise the value of the counter:
mysql_query ("LOCK TABLES cuonters");
$ Res = mysql_query ("SELECT value FROM counters WHERE name = 'counter1'");
list ($ value) = mysql_fetch_row ($ res);
/ / Do something else first ... Increase value or something ...
$ Res = mysql_query ("UPDATE counter SET value = $ value WHERE name = 'counter1'");
mysql_query ("UNLOCK TABLES");
or (even better because we do not need melock whole table):
mysql_query ("SELECT GET_LOCK ('lock1')");
$ Res = mysql_query ("SELECT value FROM counters WHERE name = 'counter1'");
list ($ value) = mysql_fetch_row ($ res);
/ / Do something else first ... Increase value or something ...
$ Res = mysql_query ("UPDATE counter SET value = $ value WHERE name = 'counter1'");
mysql_query ("SELECT RELEASE_LOCK ('lock1')");
Remember, the side of locking may result in deadlock.
Transactions. Transaction also something that is used extensively in the database world, but almost never encountered in the programming language (this is because the data in a programming language is placed in the variable in the memory of all: there is no issue of free disk crashes / slow / damage / must be synchronized with data in memory). Therefore you need to understand the concept of books on the database.

8. Table Type
Known term in MySQL table handlers and types of tables. Currently there are three main types of tables that can be used in MySQL: MyISAM (default), BerkeleyDB and InnoDB. I need to know three things: 1) not all tables support transactions (MyISAM does not support transactions, so the COMMIT and ROLLBACK are not doing something properly if you apply on MyISAM table); 2) not all tables have the same performance characteristics (eg BerkeleyDB , slow if a large table size) and stored in the same way (for example, MyISAM tables are stored in three files:. MYI,. MYD,. FRM temporary tables InnoDB database and database-stored together in a disk area called tablespaces; 3) distribution of non-Max MySQL is not compiled with support for BerkeleyDB and InnoDB.
Number three is important to know because if we instruct MySQL to create a database with a particular type:
CREATE TABLE (...) TYPE = BDB;
And MySQL is not compiled to support BerkeleyDB, then MySQL will not protest the error, but made it to our table but with the default type is MyISAM. So you need to check first use the SHOW TABLESTATUS:
mysql> create table t4 (i int) type = InnoDB;
Query OK, 0 rows affected (0.00 sec)

mysql> show table status from MyDB like 't4';
+------+--------+-...
| Name | Type | ...
+------+--------+-...
| T4 | MyISAM | ...
+------+--------+-...
Apparently MyISAM!
Cover
Actually to use MySQL with proper skills necessary skill-base, such as backup, restore, set up server parameters, monitor servers, etc.. But that was all the more a task of an administrator (DBA).