- · PHP adalah bahasa berbentuk skrip yang ditempatkan di dalam server dan diproses di server.
- · Kode php diawali dengan dan diakhiri ?>
- · Skema php adalah:Browser mengirim request à Web server àPHP script àPHP engine àhtml code àdi receive oleh brower
- · Sebuah pernyataan dalam php selalu diakhiri dengan tanda (;)
- · Variable yang di tulis dengan diawali ($)
- · Tanda (% $) merupakan tanda format untukk string (data yang akan mensubtitusi tanda tersebut adalah data string)
- · Casesensitive
- · Konstanta di definisikan dengan ‘define’
- · PHP adalah singkatan dari php hypertext preprocessor
- · Session: cara konsisten untuk menjaga atau memelihara data tertentu melewati akses berikutnya, dengan adanya session tidak perlu ada komunikasi bolak-balik antara web server dengan client ketika server membutuhkan data tersebut.
- · Cookie: session_id yang disimpan di sisi server, yang menjadi identitas yang akan selalu dikirimkan pada server setiap kali terjadi kontak
PHP
Posted by
Unknown
, Thursday, September 1, 2011 at 6:47 AM, in
Labels:
php
SQL Server DatabaseTuning
Posted by
Unknown
, Friday, August 5, 2011 at 2:42 AM, in
Labels:
SQL Server DatabaseTuning
Apa tujuan dari tuning SQL Server database? Adalah meningkatkan performance sampai ke acceptable levels tercapai. Acceptable levels dapat didefinisikan berbagai cara. Untuk sebuah online transaction processing (OLTP) application yang besar , performance goal mungkin adalah menyediakan subsecond response time untuk critical transactions dan menyediakan response time kurang dari 2 seconds untuk 95 percent dari main transactions.
1. Proses desain database fisik
· Logical desain database yang buruk adalah performa yang buruk
· Physical design process adalah kunci dari seluruh design process
Pertimbangan untuk membentuk database :
· Tipe system akan memperngaruhi keputusan physical database design yang dibuat .Jika systemadalah untuk mendukung OLTPd an complex decision support, maka lebih dari satu database harus dipertimbangkan untuk operational OLTP system dan extracts dari operational OLTP system, untuk mendukung complex decision support.
· Apa keterbatasan hardware dan budgetnya?
· Apakan sebelumnya database design telah dilakukan pendekatan dari textbook normalization standpoint?
· Seberapa penting database konsistensi?
2. Data Analisis
· Penting untuk menangkap informasi pada current data volumes dan expected data volumes. Tanpa informasi tersebut tidak akan mungkin untuk memperkirakan ukuran disk drives yang dibutuhkan database.
SQL Server Integration Service Part 1
Posted by
Unknown
, Sunday, June 12, 2011 at 11:14 PM, in
Labels:
SSIS
Elemen yang membentuk Integration Service project::
- Package: unit kerja yang didapatkan, dieksekusi, dan disimpan dalam msdb database atau XML File dengan eksensi .dstx
- Control Flow : berisi task dan container
- Data Flow : Berisi sources, transformation, and destination
- Variable : digunakan untuk melalukan operasi dinamis seperti update kolom dan mengontrol control flow berulang
- Event Handler : menjalankan response untuk run time events untuk membantu monitoring dan merespon package
Lesson #8 Querying Metadata, XML, Full Text-Indexes
Posted by
Unknown
, Thursday, June 9, 2011 at 4:04 AM, in
Labels:
Query
Metadata : informasi deskriptif tentang data atau database
Misalnya sebuah database customer information dimana ada kolom untuk nama customer dan end user akan melihat nilai dari kolom tersebur disetiap row-nya adalah nama customer.
Misalnya sebuah database customer information dimana ada kolom untuk nama customer dan end user akan melihat nilai dari kolom tersebur disetiap row-nya adalah nama customer.
- Systems Catalog View: untuk meyederhanakan dan akses langsung ke metadata.
- Information Schema views :untuk menyediakan internal, system-table-independent view dari metadata, Information schema sesuai standar dan dapat digunakan untuk aplikasi
- Dynamic Management Views and Function : mekanisme untuk melihat SQL server bekerja. Menyediakan metode untuk memonitoring state dan kesehatan dari SQL Server
- Stored Procedure : cara untuk mendapatkan informasi metadata tanpa harus mengerti terlalu dalam tentang strukturnya
XML : open standar yang direkomendasikan w3c untuk menciptakan custom markup language
5 metode yang didukung oleh XML data type:
- Query : menerima Xquery Statement meretrieve element dari XML data
- Value : meretrieve value dari SQL Type dari sebuah XML Instance
- Exist : menentukan jika sebuah Xquery statement mengembalikan hasil
- Modify : digunakan untuk menentukan XML data modification update statement
- Nodes : membagi XML ke berbagai row
Lesson #7 Modifying Data in Table
Posted by
Unknown
, Wednesday, June 8, 2011 at 10:02 PM, in
Labels:
Query
Terdapat 4 operasi saat ingin memodifikasi data dalam table:
- INSERT
- DELETE
- UPDATE
- Overview Transaction
INSERT:
Statement Insert dapat digunakan bersama-sama dengan SELECT (dengan menambahkan kata INTO setelah kata INSERT ), EXCUTE, dan TOP (dengan menambahkan kata INTO setelah kata TOP dan sertai dengan statement SELECT)
INSERT dan OUTPUT clause
Penggunaan OUTPUT dalam sebuah INSERT statement akan mengembalikan informasi dari setiap baris yang berubah akibat INSERT statement
DELETE
Statement Delete dapat digunakan bersama WHERE clause, Subquery, TOP
TRUNCATE TABLE
Menghapus seluruh baris dari table harus melakukan penghapusan secara individual . Truncate Table tidak dapat digunakan pada table yang direferensikan oleh Foreign Key, berpartipasi dalam indexed view, dipublikasikan menggunakan transactional replication atau merge replication. Jika tidak dapat di hapus menggunakan truncate gunakanlah DELETE statement.
Truncate memiliki kelebihan dibandingkan DELETE yaitu:
INSERT dan OUTPUT clause
Penggunaan OUTPUT dalam sebuah INSERT statement akan mengembalikan informasi dari setiap baris yang berubah akibat INSERT statement
DELETE
Statement Delete dapat digunakan bersama WHERE clause, Subquery, TOP
TRUNCATE TABLE
Menghapus seluruh baris dari table harus melakukan penghapusan secara individual . Truncate Table tidak dapat digunakan pada table yang direferensikan oleh Foreign Key, berpartipasi dalam indexed view, dipublikasikan menggunakan transactional replication atau merge replication. Jika tidak dapat di hapus menggunakan truncate gunakanlah DELETE statement.
Truncate memiliki kelebihan dibandingkan DELETE yaitu:
- Menggunakan transaction log lebih sedikit
- Tak ada yang tersisa di table
DELETE and the OUTPUT clause
Penggunaan OUTPUT dalam sebuah DELETE statement akan menghapus baris dari sebuah table dan mengembalikan nilai yang di hapus ke sebuah result set.
UPDATE
Statement UPDATE terdiri dari 2 clause utama :
- SET : termasuk didalamnya list kolom yang dipisahkan menggunakan tanda koma
- FROM : mengidentifikasi table atau view yang mengisi value untu ekspresi pada SET clause
UPDATE and the OUTPUT clause
Penggunaan OUTPUT dalam sebuah UPDATE statement akan mengupdate baris dari sebuah table dan mengembalikan nilai yang di hapus ke sebuah result set.
TRANSACTION
adalah urutan operasi yang dtunjukan sebagai single logical unit of work. Terdiri:
- Atomic : merupakan atomic unit of work
- Consistency : harus meninggalkan semua dalam consistent state
- Isolation : harus terisolasi dari modifikasi yang dibuat dari concurrent transaction lainnya
- Durability : Tahan setelah kegagalan sistem
Macam - macam Basic Transaction Statement :
- BEGIN TRANSACTION
- COMMIT TRANSACTION
- ROLLBACK TRANSACTION
BEGIN TRANSACTION
Menampilkan titik dimana data direferensikan oleh sebuah koneksi yang konsisten secara logikal dah fisikal> Jika terjadi error maka semua modifikasi data yang dibuat setelah BEGIN TRANSACTION dapat di rool back untuk mengembalikan data ke state consitency yang diketahui
COMMIT TRANSACTION
diterbitkan untuk membuat modifikasi menjadi permanent di database
ROLLBACK TRANSACTION
menghapus seluruh modifikasi jika mengalami error saat modifikasi
TRANSACTION ISOLATION Level Control
Mengunci pengambilan data ketika data sedang di read, seberapa lama read locks ,bagaimana read operation mereferensikan rows acts
TRANSACTION ISOLATION Level Control
Mengunci pengambilan data ketika data sedang di read, seberapa lama read locks ,bagaimana read operation mereferensikan rows acts
- READ UNCOMMITED : Statement dapat membaca row yang telah dimodifikasi oleh transaksi lain namun belum di-COMMIT
- READ COMMITED : Statement tidak dapat membaca data karena modifikasi belum di-COMMIT
- REPEATABLE READ : Statetment tidak dapat membaca data karena belum di-COMMIT oleh transaction lain dan tidak ada transaction yang dapat memodifikasi data yang telah dibaca oleh current transaction sampai current transaction selesai
- SNAPSHOT : Data dibaca oleh statement dalam sebuah transaksi yang akan menjadi trasactionally consistent version dari data yang telah ada diawal transaction
- SERIALIZABLE : mengunci semua table dalam seluruh select statement dalam sebuah transaction
Lesson #6 Working With SubQueries
Posted by
Unknown
, at 9:21 PM, in
Labels:
Query
subquery vs join :
1. join menujukkan performa lebih cepat dari subquery dalam beberapa kasus namun eksistensi harus dicek
2. subquery lebih berguna untuk menjawab pertanyaan yang terlalu kompleks dijawab dengan join
3. subquery lebih cocok jika RAM kita tinggi karena terjadi adi memory
4. subquery lebih mudah di maintain daripada pada temporary table yang membutuhkan resources harddisk ketika dieksekusi
5. Gunakan temporary table untuk memecah sub query yang kompleks
contoh subquery vs join :
/* SELECT statement built using a subquery. */
SELECT Name
FROM Production.Product
WHERE ListPrice =
(SELECT ListPrice
FROM Production.Product
WHERE Name = 'Chainring Bolts' )
/* SELECT statement built using a join that returns the same result
set. */
SELECT Prd1.Name
FROM Production.Product AS Prd1
JOIN Production.Product AS Prd2
ON (Prd1.ListPrice = Prd2.ListPrice)
WHERE Prd2.Name = 'Chainring Bolts';
contoh sub query dengan EXIST keyword :
SELECT Name
FROM Production.Product
WHERE EXISTS
(SELECT *
FROM Production.ProductSubcategory
WHERE ProductSubcategoryID =
Production.Product.ProductSubcategoryID
AND Name = 'Wheels');
1. local temporary table : memiliki single number sign (#), muncul hanya pada koneksi yang sekarang digunakan user, dan terhapus ketika user diskoneksi
2. global temporary table : memiliki double number sign (##), muncul pada seluruh user dan terhapus ketika diskoneksi
contoh create temporary table :
CREATE TABLE #MyTempTable (cola INT PRIMARY KEY);
INSERT INTO #MyTempTable VALUES (1);
SELECT * FROM #MyTempTable;
CET : common expression table --> temporary result yang didapat dari select query dan dapat digunakan dalam select, insert, update, atau delete
keuntungan penggunaan CET adalah : query yang diturunkan dari table mudah dibaca dan menyediakan traversal hieraki recursive
contoh CET yang recursive :
USE AdventureWorks2008;contoh Store prosedure:
GO
WITH Parts(AssemblyID, ComponentID, PerAssemblyQty, EndDate,
ComponentLevel) AS
(
SELECT b.ProductAssemblyID, b.ComponentID, b.PerAssemblyQty,
b.EndDate, 0 AS ComponentLevel
FROM Production.BillOfMaterials AS b
WHERE b.ProductAssemblyID = 800
AND b.EndDate IS NULL
UNION ALL
SELECT bom.ProductAssemblyID, bom.ComponentID,
p.PerAssemblyQty,
bom.EndDate, ComponentLevel + 1
FROM Production.BillOfMaterials AS bom
INNER JOIN Parts AS p
ON bom.ProductAssemblyID = p.ComponentID
AND bom.EndDate IS NULL
)
SELECT AssemblyID, ComponentID, Name, PerAssemblyQty, EndDate,
ComponentLevel
FROM Parts AS p
INNER JOIN Production.Product AS pr
ON p.ComponentID = pr.ProductID
ORDER BY ComponentLevel, AssemblyID, ComponentID;
GO
CREATE Procedure pGetPersonName
@PersonID nvarchar(15)
AS
SELECT BusinessEntityID,
FirstName,
MiddleName,
LastName
FROM dbo.vwPersonName
WHERE BusinessEntityID = @PersonID
GO
Lesson #2: Summarizing Grouped Data
Posted by
Unknown
, at 9:08 PM, in
Labels:
Query
1. Clause GROUP BY
digunakan untuk menggrupkan baris ke dalam result set. Digunakan untuk menjalankan fungsi agregat agar dapat berkerja.
Contoh :
SELECT [kolom ID e.g : ID], SUM [kolom total] AS Subtotal FROM [table] GROUP BY [kolom ID e.g : ID] ORDER BY [kolom ID e.g : ID]
SELECT [kolom e.g : DATE] AS 'Year', SUM [kolom total e.g: TotalDue] AS 'Total Due Ammount' From [table]
GROUP BY [kolom e.g : DATE]
HAVING [kolom e.g : DATE] >='2003'
ORDER BY [kolom e.g : DATE]
ROLLUP : Membuat general summary dalam sebuah query. Menciptakan result set yang menunjukan agregat untuk hierarki value dalam kolom yang dipilih
Contoh :
SELECT a, b, c SUM () WHERE () FROM [tabel] ROLLUP (a,b,c)
CUBE : Membuat general summary dalam sebuah query, Menciptakan result set yang menunjukan hubungan agregat untuk seluruh kombinasi nilai dalam kolom yang dipilih.
digunakan untuk menggrupkan baris ke dalam result set. Digunakan untuk menjalankan fungsi agregat agar dapat berkerja.
Contoh :
SELECT [kolom ID e.g : ID], SUM [kolom total] AS Subtotal FROM [table] GROUP BY [kolom ID e.g : ID] ORDER BY [kolom ID e.g : ID]
SELECT [kolom e.g : DATE] AS 'Year', SUM [kolom total e.g: TotalDue] AS 'Total Due Ammount' From [table]
GROUP BY [kolom e.g : DATE]
HAVING [kolom e.g : DATE] >='2003'
ORDER BY [kolom e.g : DATE]
ROLLUP : Membuat general summary dalam sebuah query. Menciptakan result set yang menunjukan agregat untuk hierarki value dalam kolom yang dipilih
Contoh :
SELECT a, b, c SUM (
CUBE : Membuat general summary dalam sebuah query, Menciptakan result set yang menunjukan hubungan agregat untuk seluruh kombinasi nilai dalam kolom yang dipilih.
Contoh :
SELECT a, b, c SUM () WHERE () FROM [tabel] CUBE (a,b,c)
COMPUTE : menciptakan total yang muncul sebagai tambahan summary collumn di akhir result sets. Fungsi tcompute menciptakan dua result sets untuk setiap grup. Result set pertama mengandung detail row dari select statement grup dan yang kedua adalah baris yang mengandung subtotal dari aggregat function yang dispesifikasi dalam compute clause.
Contoh :
SELECT a, b, c FROM [tabel] ORDER BY a COMPUTE SUM(b), SUM(c)
COMPUTE BY : menciptakan keduanya baik detail (subtotal) dan summary (grand total) agar tercipta dengan sebuah select statement dan penngunaan compute by harus diikuti dengan ORDER BY
Contoh :
SELECT a, b, c FROM [tabel] ORDER BY a COMPUTE SUM(b), SUM(c) ORDER BY a
GROUP SETS : operator tambahan dalam GROUP BY clause. Operator ini akan menunjukan beberapa Group set dalam satu query
Subscribe to:
Posts (Atom)




