markdown:
# Cho anh năm phút
“Cho anh năm phút”.
Hoàng nói như vậy từ trước khi Vy xuống tàu nửa tiếng. Sợ lão chờ lâu, tàu ì ạch lăn những bước cuối cùng trên đường ray là Vy sấp sửa đứng dậy. Vội vã xuống tàu, lại mang túi hành lý to hơn cả người, nàng suýt bị trẹo chân khi bước từ bậc thềm ở cửa tàu xuống đất.
Nàng nửa bước nửa chạy ra phía ngoài nhà ga. Chẳng thấy lão đâu cả. Rướn chiếc cổ thanh mảnh giữa đoàn người trễ nải hành lý, lừ đừ mệt mỏi sau một hành trình dài, nàng căng mắt ra, ngó đông ngó tây tìm kiếm. Lão đang trốn ở một góc nào đó và xuất hiện đột ngột để làm nàng bất ngờ chăng?. Bỗng nhiên, chiếc túi nặng trịch trong tay dường như có ai đằng sau đỡ lấy. Biết ngay mà!. Nàng quay phắt người lại.
“Về đâu em ơi?”.
Xe ôm. Không phải lão. Nàng
[cười](http://doctruyen14.com/truyen-cuoi) trong nỗi thất vọng: “Em có người đón rồi”. Chàng xe ôm chưng hửng, liền buông chiếc túi của nàng ra và nhắm sang đối tượng khác.
“Hoàng đang ở đâu vậy? Hay là chưa đến?”. Vy nép mình vào một góc ít người, lấy điện thoại khỏi túi xách, gọi cho lão. Tiếng nhạc chờ “Bà xã anh number one, number one” nện lùng bùng vào lỗ tai của nàng. Lão không bắt máy. Do đang đi trên đường chăng? Yêu nhau hơn một năm, chưa bao giờ Hoàng phải để Vy đợi mà không có lý do như thế này. Vy ghét chờ đợi. Hoàng biết rõ điều đó. “Cho anh năm phút”, một mật ngữ lão dành riêng cho những yêu cầu của nàng. Câu trả lời không có ý nghĩa về mặt thời gian, chỉ để xác nhận, lão sẽ đến. Nhanh chóng và đúng giờ.
cho-anh-nam-phut
Vy đẩy cặp kính cận lên cao sống mũi, nhìn lại màn hình điện thoại. “11h20 phút”. Nàng đã ích kỉ quá chăng?. Lẽ ra nàng nên bảo lão ở nhà và tự bắt taxi về mới phải. Nhưng, hai tháng xa cách, phải trải qua một đêm dài mà không gặp lão, nàng làm sao có thể ngủ được. Và hẳn, lão cũng vậy. Nàng khẽ mỉm cười trong khi tâm trí nàng bay bổng giữa viễn cảnh gặp lại lão. Nàng sẽ chạy ào vào vòng tay của lão, hay là nhăn mặt phụng phịu vì lão đến muộn nhỉ?. Ôi, nàng không biết nữa. Hai tiếng ngồi chờ sốt ruột ở nhà ga vì tàu delay giờ khởi hành, giờ nàng lại vêu mặt đợi lão đến đón. Thời gian cứ cố tình làm dày thêm nỗi nhớ lão cồn cào trong lòng nàng.
Đêm mùa thu se se lạnh. Nàng lấy chiếc khăn voan choàng lên cổ, xốc túi hành lý lên vai, khẽ nhăn mặt với sức nặng của nó, nàng băng qua khoảng sân tiến về phòng đợi. Nhà ga buổi đêm nhuốm trong sắc vàng ảm đạm, hiu hắt. Phòng đợi cũng vắng người. Đặt hành lý lên một chiếc ghế thuộc dãy đầu, nàng ngồi xuống chiếc ghế đối diện, quay mặt ra cửa. Nàng chống hờ hững tay lên thành ghế, lơ đãng nhìn màn hình TV. Một mẩu quảng cáo Clearmen có danh thủ Cristiano Ronaldo.
“Phong độ nhỉ”
“Đẹp trai thế”
“Thân hình tuyệt quá”.
Tiếng xì xầm của mấy cô gái vang lên phía sau.
“Ừ, anh chàng này hấp dẫn thật đó”. Vy thầm nghĩ. “Nhưng không có nụ cười hút hồn như lão”. Và nàng tự mỉm cười vì cái sự so sánh có phần khập khiễng đó.
Những mẩu quảng cáo nối tiếp nhau, hết dầu gội, thực phẩm chức năng, lại đến sữa tắm.
“Ôi, người đâu mà đẹp thế không biết”. Một cô nàng thốt lên đầy ngưỡng mộ.
Cô khác cũng xuýt xoa: “Tao là con gái nhìn còn mê nữa là”.
“Ừ, cô nàng này cũng xinh đẹp đó, nhưng…”. Vy nhìn điện thoại lần thứ năm… “11h40 phút…giờ lão còn chưa tới”.
Không một cú điện thoại. Không một tin nhắn. “Liệu…đã có chuyện không hay xảy ra với lão rồi sao?”. Cả người nàng chợt căng lên trong bủa vây của lo lắng, hơi thở trở nên gấp gáp. Không chậm trễ, nàng bấm số gọi cho lão. Hết lần này đến lần khác, vẫn chỉ có bản nhạc chờ “Bà xã anh number one, number one” đáp lại sự trông mong của nàng. “Xe của lão bị hỏng?. Bị cơ động bắt?”. Vô lý, còn cái điện thoại, lão phải gọi thông báo cho nàng chứ. “Hay lão gặp…tai nạn?”. Suy nghĩ đó làm Vy bủn rủn cả người. “Không, không thể nào”, nàng tự vả vào miệng một cái thật đau: “Chỉ giỏi nghĩ bậy nghĩ bạ”.
Chợt, Vy nhớ ra một người. Nàng vội vã tìm số của Nam – bạn cùng phòng với Hoàng. Tràng tiếng “…tút….tút….tút….” tưởng chừng như dài vô tận, cuối cùng cũng kết thúc bằng giọng “Alo” ngái ngủ của người nhận.
“Anh Nam à?. Xin lỗi đã làm phiền anh, em…”
“Này, con bé kia, có biết bây giờ là mấy giờ rồi không hả?”.
Nam thường tỏ vẻ đàn anh trước mặt Vy. Lúc thường nàng sẽ “đốp” lại vẻ hống hách đó của anh. Còn bây giờ, giọng điệu của Nam càng làm nàng cuống: “Em xin lỗi anh Nam. Hoàng hẹn ra đón em mà chờ mãi không thấy, gọi điện thoại hoài không được. Em lo quá. Hoàng đi lâu chưa anh?”.
Giọng của người nhận đột nhiên dịu hẳn đi: “Anh không rõ, hôm nay anh ngủ nhà bạn. Buổi chiều Hoàng có nói công ty nó tối nay liên hoan gì đó mà”.
“Liên hoan ư?”.
“Ừ, chắc nó bị chuốc cho say mèm rồi. Em nên bắt xe về đi, đừng chờ nó nữa”.
“Vâng, vâng, em cảm ơn anh nhé”.
Vy thở phào. Rõ là nàng đã thần hồn nát thần tính. Điện thoại của lão vẫn có tín hiệu, chứng tỏ lão chẳng làm sao cả. Nhưng, không lẽ lão đang say thật. Lão có thể say bí tỉ và để nàng đứng chờ dài cổ giữa đêm hôm khuya khắt như vậy?. “Hừm…Lão Hoàng này được lắm. Mới đi xa hai tháng, mà lão đã đổ đốn ra thế này. Để xem lần này cô nương ta đây trị nhà ngươi thế nào”.
Nàng thở hắt ra một hơi và bắt đầu bẻ các ngón tay răng rắc. “Có nên tiếp tục chờ?”. Lão mà đến, hẳn phải đến rồi. Thật là đáng ghét. Nàng đứng bật dậy, quyết tâm cầm túi hành lý. Nhưng giữa chừng, ngập ngừng, nàng lại đặt xuống ghế. Lúc nãy nàng gọi, giọng lão vẫn rất tỉnh táo. Không thể trong chốc lát mà say bí tỉ được. Rốt cuộc, lão đã xảy ra chuyện gì?, Đầu nàng muốn vỡ tung ra mất.
Nàng sẽ gọi cho lão lần cuối. Quyết định như vậy!. Nàng day day đôi môi trong khi bàn tay run run bấm nút gọi. “Lão sẽ nghe”. Một nửa của nàng lên tiếng. “Không nghe đâu”. Nửa kia của nàng đáp lại.
Tưởng như nàng sắp chết ngộp trong chờ đợi, thì một giọng nói nhỏ nhẹ, thánh thót rót vào tai nàng: “Alo”.
Giọng con gái?. Nàng có nghe lầm không vậy?. “Alo” Tiếng nói lặp lại, xen giữa tiếng nhạc xập xình, tiếng cười đùa mơn trớn. Vy cứng cả họng, không nói được lời nào. Tay nàng không tự chủ mà buông thõng xuống. Nàng thừ mặt ra.
Lão chẳng làm sao cả?. Mà chỉ là đang vui vẻ bên một cô nàng nào đó trong một quán karaoke hoặc một quán bar đến nỗi không để ý đến điện thoại của nàng.
Giận dữ. Mắt nàng cay cay. Và nàng chỉ muốn hét lên một tiếng thật to. Tức quá đi mất. Chiếc điện thoại đột nhiên lại rung bần bật trong tay. Dòng chữ “Lão Hoàng đang gọi” nhảy múa trước mắt nàng. Nàng nhấn nút từ chối không cần suy nghĩ. Tức giận. Nàng nhắn một cái tin: “Tôi đã về nhà. Vui vẻ và an toàn. Chúc anh hạnh phúc bên niềm vui mới”. Màn hình vừa hiện thông báo : “Gửi tin thành công” là nàng tắt nguồn điện thoại, xách túi hành lý, ra khỏi phòng đợi và vẫy taxi.
……………..
“Cho anh năm phút”.
Lão nói, rồi cười. Nụ cười của lão làm sáng bừng cả một buổi chiều mùa đông ảm đạm, khi gió lạnh len lỏi trên những nhành cây trơ trụi kéo những chiếc lá khô rơi xào xạc trên mặt đường. Lão ngồi trên ghế đá bên cạnh nàng. Và nàng tự hỏi, tại sao một người lạ mặt lại có thể dễ dàng cướp mất năm phút quý giá, cám dỗ nàng rời khỏi những trang sách mà một khi nàng đã để mắt tới thì không gì có thể thu hút nàng nữa.
Rồi nàng tự trả lời, nàng thích sự nghiêm túc ẩn đằng sau câu nói: “Cho anh năm phút” của lão.
“Cho anh năm phút”.
Giọng nói nhanh, gọn nhưng mơ hồ, như từ một nơi xa xa vọng đến. Vy giật mình tỉnh dậy trong nỗi buồn mang mác.
Gần sáng, nàng mới chợp mắt được một lúc. Nàng bắt mình tin rằng lão chỉ đàn đúm vậy thôi, nhưng nước mắt cứ trực trào ra. Lão thì vui vẻ, say sưa bên một cô gái khác, còn nàng thì vò võ chờ đợi, lo lắng. Nàng thấy điên cả người. Tủi thân. Giận dữ. Mệt mỏi. Cả đêm, Vy trùm kín chăn lên mặt, cố không cho những tiếng nức nở trào ra khỏi cổ họng để tránh làm cô bạn cùng phòng tỉnh giấc.
Cả người nóng bừng bừng, nàng thấy ngộp thở, chủ yếu vì sự thổn thức của những cảm xúc cố đè nén. Lòng nàng lấp đầy bởi sự thất vọng, trống rỗng. Nàng rúc đầu ra khỏi chăn, quờ quạng tìm điện thoại theo thói quen. Hình như nàng vẫn để trong túi xách. Rón rén rời khỏi giường, nàng lấy điện thoại, rồi mở cửa, bước ra ban công. Hơi lạnh ùa vào mặt làm Vy khẽ rùng mình. Trời vẫn còn chưa sáng hẳn. Sương khói quấn quýt trên những nhành cây, trên những mái nhà.
Một buổi sáng trong lành. Hẳn như lúc thường, nàng phải thích thú lắm. Nàng sẽ hít một hơi thật sâu để không khí căng tràn lồng ngực. Nàng sẽ nhắm mắt lại để cảm nhận gió mơn man và cái lạnh tinh khôi thấm vào da thịt. Nhưng không!. Nàng lại thả tâm trí của mình theo chiếc lá bàng run rấy trong gió sớm, xoay những vòng buồn bã trên không trung, và lòng nàng chợt trùng xuống khi nó đáp xuống dưới gốc cây. Lão vẫn thường đứng ở nơi đó chờ nàng.
“Chúng ta đi tập thể dục nhé”.
“Ok, cho anh năm phút”.
“Anh, đến đón em nhé”.
“Ok, cho anh năm phút”.
Như thẩy với bất cứ yêu cầu nào của nàng, lão cũng sẵn sàng. “Cho anh năm phút”, “cho anh năm phút”… Sao nàng thấy nhớ da diết những tiếng đó của lão. Nàng mới nghe lão nói tối qua, mà như đã từ lâu lắm rồi.
Nàng muốn gọi cho lão. Nàng muốn biết tất cả mọi chuyện. Không thể chờ đợi lâu thêm được nữa, nàng nôn nóng mở máy. Màn hình tắt ngúm. Nàng chợt nhớ mình đã tắt nguồn từ đêm qua. Lão đọc tin nhắn chưa?. Lão có nhắn tin lại không?. Màn hình sáng lên, nàng hi vọng sẽ nhìn thấy thông báo: “Có tin nhắn đến”, hơn là con số 6h05′ buồn tẻ này. Giữ khư khư chiếc điện thoại trong tay, nàng nhìn chăm chăm vào màn hình. Và chờ đợi.
“Tít … tít…”, nàng nghe tim mình đánh thịch một tiếng.
“Cô gái ơi, tôi nhặt được chiếc điện thoại này trên đường. Hãy giúp tôi nhắn lại với chủ nhân của nó nhé. Thanks J “.
Mắt nàng như nhòa đi. Và miệng nàng khô khốc.
Lão… đánh rơi điện thoại.
Nàng đã nghĩ oan cho lão rồi sao?.
“Tôi đã về nhà. Vui vẻ và an toàn. Chúc anh hạnh phúc bên niềm vui mới”. Đọc lại tin nhắn đêm qua mà nàng xấu hổ đỏ cả mặt. Cô gái kia chắc phải buồn cười lắm.
Nhưng tại sao lão đánh rơi điện thoại, tại sao lão không đến đón nàng, nếu không phải là bị ngã?.
Đột nhiên, điện thoại đổ chuông. Một số lạ. Ai lại gọi nàng vào sáng sớm thế này?.
“Vy, là anh đây”.
“….”. Là lão sao?.
“Vy, em có ở đó không?”.
Nàng “Ớ” ra một tiếng, rồi thốt lên âm thanh khẽ khàng, đến chính nàng cũng không thể tin được: “Em đây”.
Giọng nàng chắc hẳn lạ lắm!. Đến nỗi vài giây trôi qua, lão mới lên tiếng: “Hôm qua em về bằng taxi à?. Xin lỗi bà xã, anh…”.
“Anh bị ngã phải không?”.
“À, ừ, sao em biết?”.
“Xe của anh bị hỏng, điện thoại bị rơi phải không?”.
“Sao em biết?”.
Sự lo lắng đong đầy mắt nàng: “Có bị thương không?”.
Nàng nghe tiếng lão cười qua điện thoại: “Đừng lo, anh không sao. Lúc ngã rơi điện thoại, đi một quãng anh mới biết. Chiếc xe chết tiệt còn bị thủng xăm. Anh không có cách nào liên lạc với em cả”.
Mọi khúc mắc trở nên sáng rõ. Và nàng ân hận. Lão đã phải dắt xe một quãng đường dài, cho đến khi tìm được thợ sửa, gọi điện thì nàng đã tắt máy. Phi xe đến ga, nàng đã về. Quá khuya để đến nhà nàng. Bạn cùng phòng lão cũng không có nhà. Lão phải chờ cho đến sáng để mượn điện thoại gọi cho nàng.
“Em xin lỗi, xin lỗi”. Nàng nghẹn ngào. Cả đêm qua, nàng đã trách mắng, nguyền rủa lão không biết bao nhiêu lần.
“Em có lỗi gì. Người xin lỗi phải là anh chứ. À mà không, là sao quả tạ, ai bảo nó rơi xuống đầu anh”.
Nàng bật cười. Rồi chợt nhớ: “Có người nhặt được điện thoại của anh, em sẽ qua lấy”.
“Ừ anh biết. Để anh đi”.
“Không, em và anh cùng đi. Anh ở đó chờ em qua đón”.
Im lặng vài giây, cuối cùng lão lên tiếng:
“Được, cho em năm phút”.
**Tags:** [biet ro](http://doctruyen14.com/tag/biet-ro), [man hinh](http://doctruyen14.com/tag/man-hinh), [nam phut](http://doctruyen14.com/tag/nam-phut), [nu cuoi](http://doctruyen14.com/tag/nu-cuoi), [truyen tinh cam](http://doctruyen14.com/tag/truyen-tinh-cam-2)

Set-Cookie: __cfduid=dbdba768fb9977158ab789fe5d3de067d1495508926; expires=Wed, 23-May-18 03:08:46 GMT; path=/; domain=.doctruyen14.com; HttpOnly


markdown:
SQL Server là một hệ thống quản lý cơ sở dữ liệu (Relational Database Management System (RDBMS) ) sử dụng Transact-SQL để trao đổi dữ liệu giữa Client computer và SQL Server computer. Một RDBMS bao gồm databases, database engine và các ứng dụng dùng để quản lý dữ liệu và các bộ phận khác nhau trong RDBMS.
SQL Server được tối ưu để có thể chạy trên môi trường cơ sở dữ liệu rất lớn (Very Large Database Environment) lên đến Tera-Byte và có thể phục vụ cùng lúc cho hàng ngàn user. SQL Server có thể kết hợp "ăn ý" với các server khác như Microsoft Internet Information Server (IIS), E-Commerce Server, Proxy Server....
Các SQL editions:
Enterprise : Chứa đầy đủ các đặc trưng của SQL Server và có thể chạy tốt trên hệ thống lên đến 64 CPUs và 64 GB RAM. Thêm vào đó nó có các dịch vụ giúp cho việc phân tích dữ liệu rất hiệu quả (Analysis Services)
Standard : Rất thích hợp cho các công ty vừa và nhỏ vì giá thành rẻ hơn nhiều so với Enterprise Edition, nhưng lại bị giới hạn một số chức năng cao cấp (advanced features) khác, edition này có thể chạy tốt trên hệ thống lên đến 4 CPU và 2 GB RAM.
Developer : Có đầy đủ các tính năng của Enterprise Edition nhưng được chế tạo đặc biệt như giới hạn số lượng người kết nối vào Server cùng một lúc.... Ðây là edition mà các bạn muốn học SQL Server cần có. Chúng ta sẽ dùng edition này trong suốt khóa học.
Express: Đây là phiên bản free và bị bạn chế
1.1. Cài Ðặt SQL Server (Installation)
Vì một trong những đặc điểm của các sản phẩm Microsoft là dễ install nên ta không trình bày chi tiết về cách install hay các bước install mà chỉ trình bày các điểm cần lưu ý khi install mà thôi. Khi install bạn cần lưu ý các điểm sau:
Ở màn hình thứ hai bạn chọn Install Database Server. Sau khi install xong SQL Server bạn có thể install thêm Analysis Service nếu bạn thích.
Ở màn hình Installation Definition bạn chọn Server and Client Tools.
Sau đó bạn nên chọn kiểu Custom và chọn tất cả các bộ phận của SQL Server. Ngoài ra nên chọn các giá trị mặc định (default)
Ở màn hình Authentication Mode nhớ chọn Mixed Mode . Lưu ý vì SQL Server có thể dùng chung chế độ bảo mật (security) với Win NT và cũng có thể dùng chế độ bảo mật riêng của nó. Trong Production Server người ta thường dùng Windows Authetication vì độ an toàn cao hơn và dễ dàng cho người quản lý mạng và cả cho người sử dụng. Nghĩa là một khi bạn được chấp nhận (authenticated) kết nối vào domain thì bạn có quyền truy cập dữ liệu (access data) trong SQL Server. Tuy nhiên ta nên chọn Mixed Mode để dễ dàng cho việc học tập.
1.2. Các Version của SQL Server
SQL Server của Microsoft được thị trường chấp nhận rộng rãi kể từ version 6.5. Sau đó Microsoft đã cải tiến và hầu như viết lại một engine mới cho SQL Server 7.0. Cho nên có thể nói từ version 6.5 lên version 7.0 là một bước nhảy vọt. Có một số đặc tính của SQL Server 7.0 không tương thích với version 6.5. Trong khi đó từ Version 7.0 lên version 8.0 (SQL Server 2000) thì những cải tiến chủ yếu là mở rộng các tính năng về web và làm cho SQL Server 2000 đáng tin cậy hơn.
Một điểm đặc biệt đáng lưu ý ở version 2000 là Multiple-Instance. Nói cho dễ hiểu là bạn có thể install version 2000 chung với các version trước mà không cần phải uninstall chúng. Nghĩa là bạn có thể chạy song song version 6.5 hoặc 7.0 với version 2000 trên cùng một máy (điều này không thể xảy ra với các version trước đây). Khi đó version cũ trên máy bạn là Default Instance còn version 2000 mới vừa install sẽ là Named Instance.
Khi SQL Server 2005 ra đời, thì những kiến thức về SQl 2000 thực sự không đủ để bạn làm chủ được SQL 2005. Khả năng và độ linh họat của SQL Server 2005 được phản ánh rất rõ trong công cụ Management Studio mới và BIDS, cụ thể như sau:
Bảo mật là trong tâm chính cho những tính năng mới trong SQL Server 2005. Điều này phản ánh sự phản ứng lại của Microsoft với sâu máy tính Slammer đã tấn công SQL Server 2000. Nó cũng cho thấy một thế giới ngày càng có nhiều dữ liệu kinh doanh có nguy cơ bị lộ ra ngoài Internet.
a, Bảo mật nhóm thư mục hệ thống:
- Nhóm mục hệ thống bao gồm các View bên dưới cấu trúc dữ liệu hệ thống. Người sử dụng không thấy được bất cứ bảng bên dưới nào, vì thế những người dùng không có kỹ năng hoặc có ý phá hoại không thể thay đổi hoặc làm hư hỏng các bảng này được. Điều này ngăn bạn hoặc bất kỳ ai khác làm hỏng cấu trúc chính mà SQL Server phụ thuộc vào.
b, Bắt buộc chính sách mật khẩu:
- Khi bạn cài Window Server 2003, bạn có thể áp dụng chính sách mật khẩu của Window (bạn đang áp dụng) cho SQL Server 2005. Bạn có thể thi hành chính sách về mức độ và ngày hết hạn của mật khẩu trên SQL Server 2005 giống hệt như cho tài khoản đăng nhập vào Windows mà trong 2000 không hỗ trợ tính năng này. Bạn có thể tắt hoặc mở việc bắt buộc chính sách mật khẩu cho từng đăng nhập riêng.
c, Tách biệt giản đồ và người dùng:
- SQL Server 2000 không có khái niệm giản đồ (Schema): Người dùng sở hữu các đối tượng CSDL. Nếu một người dùng User1 tạo một đối tượng là myTable thì tên của đối tượng sẽ là User1.myTable. Nếu User1 bị xóa khi một nhân viên rời khỏi công ty chẳng hạn, bạn cần thay đổi tên của đối tượng. Việc này gây ra vấn đề với những ứng dụng phụ thuộc vào tên của đối tượng để truy xuất dữ liệu.
- Trong SQL Server 2005, người dùng có thể tạo giản đồ có tên khác với người dùng để chứa các đối tượng CSDL. Ví dụ User1 có thể tạo giản đồ có tên là HR và tạo một đối tượng Employee. Bạn tham chiếu đến đối tượng đó như là HR.Employee. Vì thế nếu User1 rời khỏi công ty, bạn không cần thay đổi tên giản đồ, nghĩa là mã ứng dụng vẫn được giữ nguyên bởi vì đối tượng vẫn được gọi là HR.Employee.
d, Tự động tạo chứng nhận cho SSL:
- Trong SQL Server 2000, khi bạn dùng Secure Sockets Layer (SSL) để đăng nhập vào thể hiện SQL Server, bạn phải tạo chứng nhận để làm cơ sở sử dụng SSL. SQL Server 2005 tự tạo chứng nhận cho bạn, điều đó cho phép bạn sử dụng SSL, mà không cần phải quan tâm việc tạo chứng nhận.
Mở rộng T-SQL:
- Transact - SQL là một phiên bản của Structured Query Language (SQl), được dùng bởi SQL Server 2005. Transact-SQL thường được gọi là T-SQL. T-SQL có nhiều tính năng do Microsoft phát triển không có trong ANSI SQL (SQL chuẩn).
- Cải tiến khả năng hỗ trợ XML: SQL Server 2000 cho phép bạn nhận dữ liệu quan hệ ở dạng XML với mệnh đề FOR XML, hoặc lưu trữ XML như dữ liệu quan hệ trong SQL Server sử dụng mệnh đề OPEN XML. SQL Server 2005 có thêm một kiểu dữ liệu mới là XML cho phép bạn viết mã nhận dữ liệu XML như là XML, tránh việc biến đổi từ XML thành dữ liệu quan hệ khi dùng OPEN XML. Bạn cũng có thể dùng tài liệu giản đồ biểu diễn trong ngôn ngữ W3C XML Schema Definition (đôi khi gọi là giản đồ XSD) để chỉ ra cấu trúc hợp lệ trong XML.
- Việc sử dụng khối Try... Catch trong mã T-SQL cho phép bạn chỉ ra điều gì phải làm khi lỗi xảy ra.
- Trong SQL Server management Studio, bạn có thể tìm thấy nhiều đoạn mã mẫu giúp bạn thực hiện những tác vụ thường gặp với T-SQL. Để xem các mẫu này, bạn chọn trình đơn View > Template Explorer.
a, Hỗ trợ cho Common Language Runtime (CLR):
- CLR Được dùng bơi mã .NET, được nhúng vào trong cỗ máy CSDL SQL Server 2005. bạn có thể viết các thủ tục lưu sẵn, trigger, hàm, tính toán tập hợp và các kiểu dữ liệu do người dùng định nghĩa bằng cách sử dụng các ngôn ngữ như VB.NET hoặc C#.
- Thử tục lưu sẵn được viết bằng ngôn ngữ .NET là một thay thế tốt cho thủ tục lưu sẵn mở rộng trong SQL Server 2000 bởi vì bạn có thể chỉ ra mức độ bảo mật cho mã .NET. Có 3 mức độ bảo mật cho mã .NET:
+ An Toàn: Mức độ này không cho phép truy cập ngoài phạm vi SQL Server. Mã của bạn không được phép truy cập hệ thống tập tin, registry, các biến môi trường hoặc mạng. Đây là mức bảo mật cao nhất.
+ Truy xuất mở rộng: Mức độ này cho phép mã của bạn truy xuất có giới hạn ra ngoài phạm vi SQL Server. Cụ thể là bạn có thể truy xuất registry, hệ thống tập tin, các biến môi trường hoặc mạng.
+ Không an toàn: Ở mức độ này bạn có thể truy xuất bất kỳ chức năng mong muốn nào ngoài phạm vi SQL Server 2005. Bạn chỉ nên dùng mức độ bảo mật này nếu chắc chắn mã được viết tốt, và bạn tin cậy người viết mã đó.
b, Các kiểu dữ liệu mới:
- Varchar(max): Kiểu này cho phép bạn dùng chuỗi kí tự lớn hơn 8000 byte (8000 kí tự). Tối đa là 2 GB.
- Nvarchar(max): Kiểu này cho phép bạn dùng chuỗi kí tự Unicode lớn hơn 8000 byte (4000 kí tự). Tối đa là 2 GB.
- Varbinary(max): kiểu này cho phép bạn dùng dữ liệu nhị phân lớn hơn 8000 byte.
c, SQL Management Object (SMO):
- SMO thay thế cho Distributed Management Objects (DMO) được dùng trong SQL Server 2000. SMO nhanh hơn DMO ở nhiều thiết lập bởi vì mỗi đối tượng chỉ được thực hiện từng phần. Ví dụ, bạn muốn liệt kê một danh sách hàng ngàn đối tượng lên tree view (Cấu trúc hình cây), bạn không cần nạp đầy đủ thông tin của đối tượng ngay một lần. Ban đầu bạn chỉ cần hiển thị tên của đối tượng, khi nào cần thì mới nạp đầy đủ thông tin của đối tượng đó. Điều này giúp các bạn tiết kiệm được nhiều thời gian cho các tác vụ đơn giản.
d, Tự động thực thi mã kịch bản:
- Nếu bạn đã dùng các chương trình của Microsoft như Microsoft Access, Excel, bạn biết rằng có thể tạo các macro (mã thực thi) cho phép bạn thực hiện tự động một số tác vụ nào đó. SQL Server 2005 bây giờ có tính năng tự động tạo mã kịch bản T-SQL từ những hành động mà bạn dùng gian diện hình ảnh trong SQL Server Management Studio.
e, Truy cập Http:
- Dùng giao thức HTTP để truy cập vào SQL Server 2005 là tính năng mới cho phép người lập trình truy cập vào SQL Server mà không phụ thuộc vào việc IIS có đang chạy trên cùng máy hay không. SQL Server có thể cùng tồn tại với IIS nhưng không giống với SQL Server 2000, IIS không còn là yêu cầu bắt buộc với SQL Server 2005. Truy cập HTTP cho phép phát triển dung XML Web Service với SQL Server 2005. Truy cập HTTP có thể thực thi nhóm lệnh T-SQL hoặc thủ tục lưu sẵn. Tuy nhiên, vì lí do bảo maajtm truy cập HTTP mặc định sẽ bị vô hiệu hóa. Để sử dụng truy cập HTTP bạn phải chỉ rõ người dùng, thủ tục lưu sẵn và CSDL được phép hỗ trợ nó.
Các công cụ quản lý trong SQL Server 2005 có sự thay đổi rất lớn với SQL Server 2000. Thay đổi chính đến từ SQL Server management Studio.
a, Những công cụ quản lý mới:
- Trong SQL Server 2000, công cụ quản lý chủ yếu là Enterprise Manager và Query Analyzer. SQL Server 2005, Với công cụ quản lý mới là SQL Server Management Studio đã thay thế hoàn toàn 2 công cụ trên của SQL 2000. Công cụ này cho phép bạn quản lý nhiều thể hiện SQL Server dễ dàng hơn. Từ một giao diện, bạn có thể quản lý nhiều thể hiện của cỗ mãy CSDL SQL Server, Analysis Services, Intergration Services và Reporting Services.
- Công cụ mới SQL Server Configuration Manager cho phép bạn kiểm soát các dịch vụ kết hợp với SQL Server 2005. Nó có thể thay thế cho Services Manager và công cụ cấu hình mạng cho Server và Client. Bạn cũng có thể kiểm soát một số dịch vụ khác như: SQL Server, SQL Agent, SQL Server Analysis Services, DTS Server (Cho SQL Server Integration Services), Full - Text Search, SQL Browser.
b, Profiler:
- Cho phép bạn phân tích những vấn đề về hiệu suất thực thi trong SQL Server 2005. Ví dụ, Profiler mở các tập tin truy vết mà bạn đã lưu trong hệ thống tập tin để bạn xem lại và phân tích các quá trình SQL Server mà bạn quan tâm. Profiler có thể biểu diễn thông tin truy vết ở dạng đồ thị để bạn có thể dễ dàng xem điều gì đã xảy ra. Nó có thể nhận dữ liệu được ghi lại bởi Windows Performance Monitor. Bạn có thể hiển thị dữ liệu dạng đồ thị, , xem hiệu suất thực thi trên khoảng thời gian đã chọn. Từ đồ thị, bạn có thể truy cập đến điểm có vấn đề.
c, SQL Server Agent:
- Những khả năng của SQL Server Agent, thành phần hỗ trợ cho các tác vụ đã được lập thời gian biểu, được nâng cao. ví dụ, số tác vụ đồng thời mà SQL Server Agent có thể chạy được tăng lên. SQL 2000 chỉ dùng SQL Agent trong những tác vụ liên quan đến cỗ máy CSDL. còn trong 2005, SQL Server Agent thực thi các tác vụ cho Analysis Services và Integration Services. SQL Server Agent dùng Windows Management Instrumentation (WMI), cho phép ạn viết mã tránh thực thi tác vụ, như khi đĩa cứng đầy thì các tác vụ vẫn được thực thi thành công.
d, Cấu hình động:
- Trong SQL Server 2005, bạn có thể thực hiện bất kì Thay đổi cấu hình nào mà không cần khởi động lại SQL Server, kể cả khi bạn đang chạy trên Windows Server 2003. Bên cạnh đó, bạn cũng có thể thay đổi áp lực CPU và I/O nếu bạn cần, có thể thêm nóng bộ nhớ cho Server nếu bạn có phần cứng thích hợp.
e, Gửi mail từ CSDL:
- Đây là tính năng khá mới mẻ trong SQL Server 2005. Nó thay thế SQL Mail trong SQL Server 2000. Database Mail sử dụng giao thức Simple Mail Transfer Protocol (SMTP). Không còn bất kỳ phụ thuộc nào với Messaging Application Programming Interface(MAPI) và cũng không còn đòi hỏi phải có Outlook. Việc loại bỏ những phụ thuộc này tránh được hiều vấn đề mà người dùng SQL Server 2000 gặp phải với SQL Mail. Ngoài ra, Database Mail cũng hỗ trợ hoạt động liên tiếp, ghi tập tin Log và kiểm tra hoạt động.
Trên đây là một số những tính năng mới trong SQL Server 2005. Phần sau, mình sẽ tiếp tục giới thiệu tiếp những tính năng còn lại.
Bài 2: Giới Thiệu Sơ Lược Về Transact SQL (T-SQL)
Transact-SQL là ngôn ngữ SQL mở rộng dựa trên SQL chuẩn của ISO (International Organization for Standardization) và ANSI (American National Standards Institute) được sử dụng trong SQL Server khác với P-SQL (Procedural-SQL) dùng trong Oracle.
Trong bài này chúng ta sẽ tìm hiểu sơ qua về T-SQL. Chúng được chia làm 3 nhóm:
2.1. Data Definition Language (DDL):
Ðây là những lệnh dùng để quản lý các thuộc tính của một database như định nghĩa các hàng hoặc cột của một table, hay vị trí data file của một database...thường có dạng
Trong đó object_Name có thể là một table, view, stored procedure, indexes...
Ví dụ:
Lệnh Create sau sẽ tạo ra một table tên Importers với 3 cột CompanyID,CompanyName,Contact
USE Northwind CREATE TABLE Importers( CompanyID int NOT NULL, CompanyName varchar(40) NOT NULL, Contact varchar(40) NOT NULL )
Lệnh Alter sau đây cho phép ta thay đổi định nghĩa của một table như thêm(hay bớt) một cột hay một Constraint...Trong ví dụ này ta sẽ thêm cột ContactTitle vào table Importers
USE Northwind ALTER TABLE ImportersADD ContactTitle varchar(20) NULL
Lệnh Drop sau đây sẽ hoàn toàn xóa table khỏi database nghĩa là cả định nghĩa của table và data bên trong table đều biến mất (khác với lệnh Delete chỉ xóa data nhưng table vẫn tồn tại).
USE Northwind DROP TABLE Importers
2.2. Data Control Language (DCL):
Ðây là những lệnh quản lý các quyền truy cập lên từng object (table, view, stored procedure...). Thường có dạng sau:
Lệnh sau sẽ cho phép user trong Public Role được quyền Select đối với table Customer trong database Northwind (Role là một khái niệm giống như Windows Group sẽ được bàn kỹ trong phần Security)
USE NorthwindGRANT SELECTON CustomersTO PUBLIC
Lệnh sau sẽ từ chối quyền Select đối với table Customer trong database Northwind của các user trong Public Role
USE NorthwindDENY SELECTON CustomersTO PUBLIC
Lệnh sau sẽ xóa bỏ tác dụng của các quyền được cho phép hay từ chối trước đó
USE NorthwindREVOKE SELECTON CustomersTO PUBLIC
2.3. Manipulation Language (DML):
Ðây là những lệnh phổ biến dùng để xử lý data như Select, Update, Insert, Delete
Select
USE NorthwindSELECT CustomerID, CompanyName, ContactNameFROM CustomersWHERE (CustomerID = 'alfki' OR CustomerID = 'anatr')ORDER BY ContactName
Insert
USE NorthwindINSERT INTO TerritoriesVALUES (98101, 'Seattle', 2)
Update
USE NorthwindUPDATE TerritoriesSET TerritoryDescription = 'Downtown Seattle'WHERE TerritoryID = 98101
Delete
USE NorthwindDELETE FROM TerritoriesWHERE TerritoryID = 98101
Vì phần này khá căn bản nên chúng tôi thiết nghĩ không cần giải thích nhiều. Chú ý trong lệnh Delete bạn có thể có chữ From hay không đều được.
Cú Pháp Của T-SQL:
Phần này chúng ta sẽ bàn về các thành phần tạo nên cú pháp của T-SQL
Identifiers
Ðây chính là tên của các database object. Nó dùng để xác định một object. (Chú ý khi nói đến Object trong SQL Server là chúng ta muốn đề cập đến table, view, stored procedure, index.....Vì hầu như mọi thứ trong SQL Server đều được thiết kế theo kiểu hướng đối tượng (object-oriented)). Trong ví dụ sau TableX, KeyCol, Description là những identifiers
CREATE TABLE TableX(KeyCol INT PRIMARY KEY, Description NVARCHAR(80))
Có hai loại Identifiers một loại thông thường (Regular Identifier) và một loại gọi là Delimited Identifier, loại này cần có dấu "" hay dấu [] để ngăn cách. Loại Delimited được dùng đối với các chữ trùng với từ khóa của SQL Server (reserved keyword) hay các chữ có khoảng trống.
SELECT * FROM [My Table]WHERE [Order] = 10
Trong ví dụ trên chữ Order trùng với keyword Order nên cần đặt trong dấu ngoặc vuông [].
Variables (Biến)
Biến trong T-SQL cũng có chức năng tương tự như trong các ngôn ngữ lập trình khác nghĩa là cần khai báo trước loại dữ liệu trước khi sử dụng. Biến được bắt đầu bằng dấu @ (Ðối với các global variable thì có hai dấu @@)
USE NorthwindDECLARE @EmpIDVar INTSET @EmpIDVar = 3SELECT * FROM EmployeesWHERE EmployeeID = @EmpIDVar + 1
Functions (Hàm)
Có 2 loại hàm một loại là built-in và một loại user-defined
Các hàm Built-In được chia làm 3 nhóm:
Các hàm User-Defined (được tạo ra bởi câu lệnh CREATE FUNCTION và phần body thường được gói trong cặp lệnh BEGIN...END) cũng được chia làm các nhóm như sau:
Data Type (Loại Dữ Liệu)
Các loại dữ liệu trong SQL Server sẽ được bàn kỹ sau
Expressions
Các Expressions có dạng Identifier + Operators (như +,-,*,/,=...) + Value
Các thành phần Control-Of Flow
Như BEGIN...END, BREAK, CONTINUE, GOTO, IF...ELSE, RETURN, WHILE.... Xin xem thêm Books Online để biết thêm về các thành phần này.
Comments (Chú Thích)
T-SQL dùng dấu -- để đánh dấu phần chú thích cho câu lệnh đơn và dùng /*...*/ để chú thích cho một nhóm
Thực Thi Các Câu Lệnh SQL
Thực thi một câu lệnh đơn:
Một câu lệnh SQL được phân ra thành các thành phần cú pháp như trên bởi một parser, sau đó SQL Optimizer (một bộ phận quan trọng của SQL Server) sẽ phân tích và tìm cách thực thi (Execute Plan) tối ưu nhất ví dụ như cách nào nhanh và tốn ít tài nguyên của máy nhất... và sau đó SQL Server Engine sẽ thực thi và trả về kết quả.
Thực Thi một nhóm lệnh (Batches)
Khi thực thi một nhóm lệnh SQL Server sẽ phân tích và tìm biện pháp tối ưu cho các câu lệnh như một câu lệnh đơn và chứa execution plan đã được biên dịch (compiled) trong bộ nhớ sau đó nếu nhóm lệnh trên được gọi lại lần nữa thì SQL Server không cần biên dịch mà có thể thực thi ngay điều này giúp cho một batch chạy nhanh hơn.
Lệnh GO
Lệnh này chỉ dùng để gởi một tín hiệu cho SQL Server biết đã kết thúc một batch job và yêu cầu thực thi. Nó vốn không phải là một lệnh trong T-SQL.
Bài 3: Data Integrity and Advanced Query Technique
Nói đến Data Integrity là ta nói đến tính toàn vẹn của một database hay nói một cách khác là data chứa trong database phải chính xác và đáng tin cậy. Nếu data chứa trong database không chính xác ta nói database mất tính toàn vẹn (lost data integrity). Trong bài này chúng ta sẽ bàn qua các phương pháp để giữ cho database được toàn vẹn.
3.1. Các Phương Pháp Ðảm Bảo Data Integrity
SQL Server dùng một số cách để đảm bảo Data Integrity. Một số cách như Triggers hay Index sẽ được bàn đến trong các bài sau tuy nhiên trong phạm vi bài này chúng ta cũng nói sơ qua các cách trên.
3.2. Constraints
Constraints là những thuộc tính (property) mà ta áp đặt lên một table hay một cột để tránh việc lưu dữ liệu không chính xác vào database (invalid data). Thật ra NOT NULL hay DEFAULT cũng được xem là một dạng constraint nhưng chúng ta không bao gồm hai loại này ở đây mà chỉ trình bày 4 loại constraints là Primary Key Constraint, Unique Constraint, Foreign Key Constraint và Check Constraint.
Primary Key Constraint:
Một table thường có một hay nhiều cột có giá trị mang tính duy nhất để xác định một hàng bất kỳ trong table. Ta thường gọi là Primary Key và được tạo ra khi ta Create hay Alter một table với Primary Key Constraint.
Một table chỉ có thể có một Primary Key constraint. Có thể có nhiều cột tham gia vào việc tạo nên một Primary Key, các cột này không thể chứa Null và giá trị trong các cột thành viên có thể trùng nhau nhưng giá trị của tất cả các cột tạo nên Primary Key phải mang tính duy nhất.
Khi một Primary Key được tạo ra một Unique Index sẽ được tự động tạo ra để duy trì tính duy nhất. Nếu trong table đó chưa có Clustered Index thì một Unique + Clustered Index sẽ được tạo ra.
Có thể tạo ra Primary Key Constraints như sau:
CREATE TABLE Table1 (Col1 INT PRIMARY KEY, Col2 VARCHAR(30) )
hay
CREATE TABLE Table1 (Col1 INT, Col2 VARCHAR(30), CONSTRAINT table_pk PRIMARY KEY (Col1) )
Unique Constraint
Bạn có thể tạo Unique Constraint để đảm bảo giá trị của một cột nào đó không bị trùng lập. Tuy Unique Constraint và Primary Key Constraint đều đảm bảo tính duy nhất nhưng bạn nên dùng Unique Constraint trong những trường hợp sau:
Cách tạo ra Unique Constraint cũng tương tự như Primary Key Constraint chỉ việc thay chữ Primary Key thành Unique. SQL Server sẽ tự động tạo ra một non-clustered unique index khi ta tạo một Unique Constraint.
Foreign Key Constraint
Foreign Key là một cột hay một sự kết hợp của nhiều cột được sử dụng để áp đặt mối liên kết data giữa hai table. Foreign key của một table sẽ giữ giá trị của Primary key của một table khác và chúng ta có thể tạo ra nhiều Foreign key trong một table.
Foreign key có thể reference (tham chiếu) vào Primary Key hay cột có Unique Constraints. Foreign key có thể chứa Null. Mặc dù mục đích chính của Foreign Key Constraint là để kiểm soát data chứa trong table có Foreign key (tức table con) nhưng thực chất nó cũng kiểm soát luôn cả data trong table chứa Primary key (tức table cha). Ví dụ nếu ta delete data trong table cha thì data trong table con trở nên "mồ côi" (orphan) vì không thể reference ngược về table cha. Do đó Foreign Key constraint sẽ đảm bảo điều đó không xảy ra. Nếu bạn muốn delete data trong table cha thì trước hết bạn phải drop hay disable Foreign key trong table con trước.
Có thể tạo ra Foreign Key Constraints như sau:
CREATE TABLE Table1 (Col1 INT PRIMARY KEY, Col2 INT REFERENCES Employees(EmployeeID) )
CREATE TABLE Table1 (Col1 INT PRIMARY KEY, Col2 INT, CONSTRAINT col2_fk FOREIGN KEY (Col2) REFERENCES Employees (EmployeeID) )
Ðôi khi chúng ta cũng cần Disable Foreign Key Constraint trong trường hợp:
Check Constraint
Check Constraint dùng để giới hạn hay kiểm soát giá trị được phép insert vào một cột. Check Constraint giống Foreign Key Constraint ở chỗ nó kiểm soát giá trị đưa vào một cột nhưng khác ở chỗ Foreign Key Constraint dựa trên giá trị ở table cha để cho phép một giá trị được chấp nhận hay không trong khi Check Constraint dựa trên một biểu thức logic (logic expression) để kiểm tra xem một giá trị có hợp lệ không. Ví dụ ta có thể áp đặt một Check Constraint lên cột salary để chỉ chấp nhận tiền lương từ $15000 đến $100000/năm.
Ta có thể tạo ra nhiều Check Constraint trên một cột. Ngoài ra ta có thể tạo một Check Constraint trên nhiều cột bằng cách tạo ra Check Constraint ở mức table (table level).
Có thể tạo ra Check Constraint như sau:
CREATE TABLE Table1 (Col1 INT PRIMARY KEY, Col2 INT CONSTRAINT limit_amount CHECK (Col2 BETWEEN 0 AND 1000), Col3 VARCHAR(30) )
Trong ví dụ này ta giới hạn giá trị chấp nhận được của cột Col2 từ 0 đến 1000. Ví dụ sau sẽ tạo ra một Check Constraint giống như trên nhưng ở table level:
CREATE TABLE Table1 (Col1 INT PRIMARY KEY, Col2 INT, Col3 VARCHAR(30), CONSTRAINT limit_amount CHECK (Col2 BETWEEN 0 AND 1000) )
Tương tự như Foreign Key Constraint đôi khi ta cũng cần disable Check Constraint trong trường hợp Insert hay Update mà việc kiểm soát tính hợp lệ của data không áp dụng cho data hiện tại. Trường hợp thứ hai là replication.
Muốn xem hay tạo ra Constraint bằng Enterprise Manager thì làm như sau:
Click lên trên một table nào đó và chọn Design Table-> Click vào icon bên phải "Manage Constraints..."
3.3. Advanced Query Techniques
Trong phần này chúng ta sẽ đào sâu một số câu lệnh nâng cao như SELECT, INSERT...
Có thể nói hầu như ai cũng biết qua câu lệnh căn bản kiểu như "SELECT * FROM TABLENAME WHERE..." nhưng có thể có nhiều người không biết đến những tính chất nâng cao của nó.
Cú pháp đầy đủ của một câu lệnh SELECT rất phức tạp tuy nhiên ở đây chỉ trình bày những nét chính của lệnh này mà thôi:
SELECT select_list
[ INTO new_table ]
FROM table_source [ WHERE search_condition ]
[ GROUP BY group_by_expression ]
[ HAVING search_condition ]
[ ORDER BY order_expression [ ASC | DESC ] ]
Chúng ta sẽ lần lượt nghiên cứu từng clause (mệnh đề) trong câu lệnh này.
SELECT Clause
Sau keyword (từ khóa) SELECT ta sẽ có một danh sách các cột mà ta muốn select được cách nhau bằng dấu ",". Có 3 Keywords cần nhấn mạnh trong phần SELECT.
SELECT DISTINCT ShipCity, ShipRegion FROM Orders ORDER BY ShipCity
SELECT DISTINCT TOP 10 ShipCity, ShipRegion FROM Orders ORDER BY ShipCity
USE pubs SELECT p.pub_id, p.pub_name AS PubName FROM publishers AS p
Ngoài ra trong Select list ta có thể select dưới dạng một expression như sau:
SELECT FirstName + ' ' + LastName AS "Employee Name", IDENTITYCOL AS "Employee ID", HomePhone, Region FROM Northwind.dbo.Employees ORDER BY LastName, FirstName ASC
Trong ví dụ trên ta select cột "Employee Name" là sản phẩm ghép lại của cột FirstName và LastName được cách nhau bằng một khoảng trắng. Một giá trị thuộc loại identity để làm cột "Employee ID". Kết quả sẽ được sắp theo thứ tự từ nhỏ tới lớn (ASC) (còn DESC là từ lớn tới nhỏ) trong đó cột LastName được sắp trước rồi mới tới cột FirstName.
The INTO Clause
INTO Clause cho phép ta select data từ một hay nhiều table sau đó kết quả sẽ được insert vào một table mới. Table này được tạo ra do kết quả của câu lệnh SELECT INTO. Ví dụ:
SELECT FirstName, LastName INTO EmployeeNames FROM Employers
Câu lệnh tên sẽ tạo ra một table mới có tên là EmployeeNames với 2 cột là FirstName và LastName sau đó kết quả select được từ table Employers sẽ được insert vào table mới này. Nếu table EmployeeNames tồn tại SQL Server sẽ báo lỗi. Câu lệnh này thường hay được sử dụng để select một lượng data lớn từ nhiều table khác nhau vào một table mới (thường dùng cho mục đích tạm thời (temporary table)) mà khỏi phải thực thi câu lệnh Insert nhiều lần.
Một cách khác cũng select data từ một hay nhiều table và insert vào một table khác là dùng "Insert Into...Select...". Nhưng câu lệnh này không tạo ra một table mới. Nghĩa là ta table đó phải tồn tại trước. Ví dụ:
INSERT INTO EmployeeNames SELECT FirstName, LastName FROM Employers
Chú ý là không có chữ "Value" trong câu Insert này.
The GROUP BY and HAVING Clauses
GROUP BY dùng để tạo ra các giá trị tổng (aggregate values) cho từng hàng trong kết quả select được. Chỉ có một hàng cho từng giá trị riêng biệt (distinct) của từng cột. Các cột được select đều phải nằm trong GROUP BY Clause. Hãy xem ví dụ phức tạp sau:
SELECT OrdD1.OrderID AS OrderID, SUM(OrdD1.Quantity) AS "Units Sold", SUM(OrdD1.UnitPrice * OrdD1.Quantity) AS Revenue FROM [Order Details] AS OrdD1 WHERE OrdD1.OrderID in (SELECT DISTINCT OrdD2.OrderID FROM [Order Details] AS OrdD2 WHERE OrdD2.UnitPrice > $100) GROUP BY OrdD1.OrderID HAVING SUM(OrdD1.Quantity) > 100
Trong ví dụ trên đầu tiên ta select những order riêng biệt (distinct) từ Order Details table với giá > 100. Sau đó tiếp tục select OrderID, "Units Sold", Revenue từ kết quả trên trong đó "Units Sold" và Revenue là những aggregate columns (cho giá trị tổng một cột của những hàng có cùng OrderID). HAVING Clause đóng vai trò như một filter dùng để lọc lại các giá trị cần select mà thôi. HAVING Clause thường đi chung với GROUP BY mặc dù có thể xuất hiện riêng lẻ.
UNION
Uninon keyword có nhiệm vụ ghép nối kết quả của 2 hay nhiều queries lại thành một kết quả.
Giả sử có table1(ColumnA varchar(10), ColumnB int) và table2(ColumnC varchar(10), ColumnD int). Ta muốn select data từ table1 và ghép với data từ table2 để tạo thành một kết quả duy nhất ta làm như sau:
SELECT * FROM Table1 UNION ALL SELECT * FROM Table2
Nếu không có keyword ALL thì những hàng giống nhau từ 2 table sẽ chỉ xuất hiện một lần trong kết quả. Còn khi dùng ALL thì các hàng trong 2 table đều có trong kết quả bất chấp việc lập lại.
Khi Dùng Union phải chú ý hai chuyện: số cột select ở 2 queries phải bằng nhau và data type của các cột tương ứng phải compatible (tương thích).
3.4. Using JOINS
Trong phần này chúng ta sẽ tìm hiểu về các loại Join trong SQL Server. Bằng cách sử dụng JOIN bạn có thể select data từ nhiều table dựa trên mối quan hệ logic giữa các table (logical relationships). Có thể tóm tắt các loại Join thông dụng bằng các hình sau:
Thứ tự từ trái sang phải: Inner Join, Left Outer Join, Right Outer Join, Full Outer Join
Inner Joins
Dùng Inner Join để select data từ 2 hay nhiều tables trong đó giá trị của các cột được join phải xuất hiện ở cả 2 tables tức là phần gạch chéo trên hình. Ví dụ:
SELECT t.Title, p.Pub_name FROM Publishers AS p INNER JOIN Titles AS t ON p.Pub_id = t.Pub_id ORDER BY Title ASC
Left Outer Joins
Dùng Left Outer Join để select data từ 2 hay nhiều tables trong đó tất cả cột bên table thứ nhất và không tồn tại bên table thứ hai sẽ được select cộng với các giá trị của các cột được inner join. Số cột select được sẽ bằng với số cột của table thứ nhất. Tức là phần tô màu đỏ trên hình. Ví dụ:
USE Pubs SELECT a.Au_fname, a.Au_lname, p.Pub_name FROM Authors a LEFT OUTER JOIN Publishers p ON a.City = p.City ORDER BY p.Pub_name ASC, a.Au_lname ASC, a.Au_fname ASC
Right Outer Joins
Dùng Right Outer Join để select data từ 2 hay nhiều tables trong đó tất cả cột bên table thứ hai và không tồn tại bên table thứ nhất sẽ được select cộng với các giá trị của các cột được inner join. Số cột select được sẽ bằng với số cột của table thứ hai. Tức là phần tô màu đỏ trên hình. Ví dụ:
USE Pubs SELECT a.Au_fname, a.Au_lname, p.Pub_name FROM Authors a RIGHT OUTER JOIN Publishers p ON a.City = p.City ORDER BY p.Pub_name ASC, a.Au_lname ASC, a.Au_fname ASC
Full Outer Joins
Dùng Full Outer Join để select data từ 2 hay nhiều tables trong đó tất cả cột bên table thứ nhất và thứ hai đều được chọn các giá trị bên hai table bằng nhau thì chỉ lấy một lần. Tức là phần tô màu đỏ trên hình. Ví dụ:
USE Pubs SELECT a.Au_fname, a.Au_lname, p.Pub_name FROM Authors a FULL OUTER JOIN Publishers p ON a.City = p.City ORDER BY p.Pub_name ASC, a.Au_lname ASC, a.Au_fname ASC
Cross Joins
Dùng Cross Join ghép data từ hai table trong đó số hàng thu được bằng với số hàng của table thứ nhất nhân với số hàng của table thứ hai. Ví dụ:
USE pubs SELECT au_fname, au_lname, pub_name FROM authors CROSS JOIN publishers WHERE authors.city = publishers.city ORDER BY au_lname DESC
Ðể ý là trong câu lệnh này không có keyword "On".
Bài 4: Stored Procedure and Advance T-SQL
Trong bài này chúng ta sẽ tìm hiểu Stored Procedure, Cursor, Trigger và View
4.1. Cursors
Nếu giải thích một cách ngắn gọn thì cursor tương tự như recordset hay dataset trong programming. Nghĩa là ta select một số data vào memory sau đó có thể lần lượt làm việc với từng record bằng cách Move Next...
Có 3 loại cursors là Transact- SQL Cursors, API Cursors và Client Cursors. Trong đó Transact-SQL và API thuộc loại Server Cursors nghĩa là cursors được load lên và làm việc bên phía server. Trong khuôn khổ bài học này ta chỉ nghiên cứu Transact-SQL cursors.
Transact-SQL cursors được tạo ra trên server bằng các câu lệnh Transact-SQL và chủ yếu được dùng trong stored procedures và triggers. Trước hết hãy xem qua một ví dụ về cursor:
DECLARE @au_lname varchar(40), @au_fname varchar(20) DECLARE Employee_Cursor CURSOR FOR SELECT LastName, FirstName FROM Northwind.dbo.Employees OPEN Employee_Cursor FETCH NEXT FROM Employee_Cursor INTO @au_lname, @au_fname WHILE @@FETCH_STATUS = 0 BEGIN PRINT 'Author:' + @au_fname + ' ' + @au_lname FETCH NEXT FROM Employee_Cursor INTO @au_lname, @au_fname END CLOSE Employee_Cursor DEALLOCATE Employee_Cursor
Trong ví dụ ở trên ta sẽ select LastName và FirstName từ Employees table của Northwind database và load vào Employee_Cursor sau đó lần lượt in tên của các employee ra màn hình. Ðể làm việc với một cursor ta cần theo các bước sau:
Lưu ý là trong ví dụ ở trên trước khi dùng Cursor ta cũng declare một số variable (@au_fname và @au_lname) để chứa các giá trị lấy được từ cursor. Bạn có thể dùng Query Analyzer để chạy thử ví dụ trên.
4.2. Stored Procedures
Trong những bài học trước đây khi dùng Query Analyzer chúng ta có thể đặt tên và save các nhóm câu lệnh SQL vào một file dưới dạng script để có thể sử dụng trở lại sau này. Tuy nhiên thay vì save vào text file ta có thể save vào trong SQL Server dưới dạng Stored Procedure. Stored Procedure là một nhóm câu lệnh Transact-SQL đã được compiled (biên dịch) và chứa trong SQL Server dưới một tên nào đó và được xử lý như một đơn vị (chứ không phải nhiều câu SQL riêng lẻ).
4.2.1. Ưu Ðiểm Của Stored Procedure
Stored Procedure có một số ưu điểm chính như sau:
4.2.2. Các Loại Stored Procedure
Stored procedure có thể được chia thành 5 nhóm như sau:
4.2.3. Viết Stored Procedure
Tên và những thông tin về Stored Procedure khi được tạo ra sẽ chứa trong SysObjects table còn phần text của nó chứa trong SysComments table. Vì Stored Procedure cũng được xem như một object nên ta cũng có thể dùng các lệnh như CREATE, ALTER, DROP để tạo mới, thay đổi hay xóa bỏ một stored procedure. Chúng ta hãy xem một ví dụ sau về Stored Procedure: Ðể tạo một stored procedure bạn có thể dùng Enterprise Manager click lên trên Stored Procedure -> New Stored Procedure.... Trong ví dụ này ta sẽ tạo ra một stored procedure để insert một new order vào Orders table trong Practice DB. Ðể insert một order vào database ta cần đưa vào một số input như OrderID, ProductName (order món hàng nào) và CustomerName (ai order). Sau đó ta trả về kết quả cho biết việc insert đó có thành công hay không. Result = 0 là insert thành công.
CREATE PROCEDURE AddNewOrder @OrderID smallint, @ProductName varchar(50), @CustomerName varchar(50), @Result smallint=1 Output AS DECLARE @CustomerID smallint BEGIN TRANSACTION If not Exists(SELECT CustomerID FROM Customers WHERE [Name]=@CustomerName) --This is a new customer. Insert this customer to the database BEGIN SET @CustomerID= (SELECT Max(CustomerID) FROM Customers) SET @CustomerID=@CustomerID+1 INSERT INTO Customers VALUES(@CustomerID,@CustomerName) If Exists(SELECT OrderID FROM [Orders] WHERE OrderID=@OrderID) --This order exists and could not be added any more so Roll back BEGIN SELECT @Result=1 ROLLBACK TRANSACTION END Else --This is a new order insert it now BEGIN INSERT INTO [Orders](OrderID,ProductName,CustomerID) VALUES(@OrderID,@ProductName,@CustomerID) SELECT @Result=0 COMMIT TRANSACTION END END Else --The customer exists in DB go ahead and insert the order BEGIN If Exists(SELECT OrderID FROM [Orders] WHERE OrderID=@OrderID) --This order exists and could not be added any more so Roll back BEGIN SELECT @Result=1 ROLLBACK TRANSACTION END Else --This is a new order insert it now BEGIN INSERT INTO [Orders](OrderID,ProductName,CustomerID) VALUES(@OrderID,@ProductName,@CustomerID) SELECT @Result=0 COMMIT TRANSACTION END END Print @Result Return
Ðể tạo ra một stored procedure ta dùng lệnh CREATE PROCEDURE theo sau là tên của nó (nếu là temporary stored procedure thì thêm dấu # trước tên của procedure. Nếu muốn encrypt thì dùng WITH ENCRYPTION trước chữ AS) và các input hoặc ouput parameters. Nếu là output thì thêm keyword OUTPUT đằng sau parameter. Ta có thể cho giá trị default cùng lúc với khai báo data type của parameter. Kể từ sau chữ AS là phần body của stored procedure.
Trong ví dụ ở trên trước hết ta khai báo một biến @CustomerID sau đó bắt đầu một transaction bằng BEGIN TRANSACTION (toàn bộ công việc insert này được thực hiện trong một Transaction nghĩa là hoặc là insert thành công hoặc là không làm gì cả- all or nothing). Trước hết ta kiểm tra xem người khách hàng là người mới hay cũ. Nếu là người mới thì ta "tiện tay" insert vào Customers table luôn còn nếu không thì chỉ insert vào Orders table mà thôi. Nếu là người customer mới ta lấy CustomerID lớn nhất từ Customers table bỏ vào biến @CustomerID và sau đó tăng lên một đơn vị dùng cho việc Insert Customer ở dòng kế tiếp.
Sau khi insert người customer mới ta tiếp tục công việc bằng việc kiểm tra xem Order muốn insert có tồn tại chưa (vì nếu order đã tồn tại thì khi insert SQL Server sẽ báo lỗi do OrderID là Primary key). Nếu như order trên vì lý do nào đó đã có trong DB thì ta roll back và trả kết quả =1 còn nếu không thì ta insert một order mới vào và commit transaction với kết quả trả về =0.
Tương tự như vậy nếu người customer đã tồn tại (sau chữ else đầu tiên) thì ta chỉ việc insert order giống như trên. Trong mọi trường hợp kể trên ta đều in ra kết quả và return.
Ví dụ trên đây chỉ mang tính học hỏi còn trên thực tế database có thể phức tạp hơn nhiều nên việc viết stored procedure đòi hỏi kiến thức vững chắc về SQL và kỹ năng về programming.
4.4. Triggers
Trigger là một loại stored procedure đặc biệt được execute (thực thi) một cách tự động khi có một data modification event xảy ra như Update, Insert hay Delete. Trigger được dùng để đảm bảo Data Integrity hay thực hiện các business rules nào đó.
Khi nào ta cần sử dụng Trigger:
Ðặc điểm của Trigger:
Tạo Một Trigger Như Thế Nào?
Cú pháp căn bản để tạo ra một trigger có dạng như sau:
CREATE TRIGGER trigger_name
ON table_name or view_name
FOR trigger_class and trigger_type(s)
AS Transact-SQL statements
Như vậy khi tạo ra một trigger ta phải chỉ rõ là tạo ra trigger trên table nào và được trigger khi nào (insert, update hay delete. Sau chữ AS là các câu lệnh SQL xử lý công việc.
Ta hãy nghiên cứu một ứng dụng thực tiễn sau. Giả sử ta viết một application cho phép user có thể Insert, Update và Delete những thông tin nằm trong database. User này thường là những người không thông thạo lắm về computer mà chúng tôi thường gọi đùa là "bà tám". Vào một ngày đẹp trời, "bà tám" mặt mày tái xanh đến cầu cứu ta vì đã lỡ tay "delete" những thông tin khá quan trọng và hy vọng ta có thể phục hồi dữ liệu dùm. Nếu chúng ta không phòng xa trước khi viết application thì coi như cũng vô phương cứu chữa vì data đã hoàn toàn bị delete.
Nhưng nếu bạn là một "guru" bạn sẽ gật gù "chuyện này khó lắm!" nhưng sau đó bạn chỉ tốn vài phút đồng hồ để rollback. Muốn làm được chuyện này chúng ta phải dùng một "chiêu" gọi là Audit (kiểm tra hay giám sát). Tức là ngoài các table chính ta sẽ thêm các table phụ gọi là Audit tables. Bất kỳ hoạt động nào đụng chạm vào một số table quan trọng trong database ta đều ghi nhận vào trong Audit table. Ví dụ khi user update hay delete một record trong table nào đó thì trước khi update hay delete ta sẽ âm thầm di chuyển record đó sang Audit table rồi mới update hay delete table chính. Như vậy nếu có chuyện gì xảy ra ta có thể dễ dàng rollback (trả record về chỗ cũ).
Ví dụ:
Ta có table Orders trong PracticeDB. Ðể audit các hoạt động diễn ra trên table này ta tạo ra một audit table với tên Aud_Orders với các column giống y hệt với Orders table. Ngoài ra ta thêm vào 2 columns:
(Nếu trong môi trường nhiều user thì ta thêm một column UserID để ghi nhận user nào thay đổi).
Sau đó ta sẽ tạo ra 3 trigger dùng cho việc audit như sau:
--Insert Trigger
CREATE TRIGGER [AuditInsertOrders]
ON [dbo].[Orders]
FOR Insert
AS
insert into aud_orders select *,'I',getdate() From inserted
--Update Trigger
CREATE TRIGGER [AuditUpdateOrders]
ON [dbo].[Orders]
for UPDATE
AS
insert into aud_orders select *,'U',Getdate() from deleted
--Delete Trigger
CREATE TRIGGER [AuditDeleteOrders]
FOR DELETE
insert into aud_orders select *,'D',getdate() From deleted
Trong ví dụ trên khi user insert một record thì record mới vừa được insert sẽ nằm trong inserted table như đã trình bày ở phần trên. Do đó ta sẽ select tất cả các column trong inserted table cộng thêm Audit Type "I" và dùng hàm GetDate() trong SQL Server để lấy system date time dùng cho Date_Time_Stamp column, sau đó insert vào Aud_Orders table. Tương tự với trường hợp Update và Delete, record đã được update hay delete nằm trong deleted table.
Như vậy trở lại trường hợp thí dụ ở trên nếu "bà tám" yêu cầu ta có thể vào tìm kiếm trong audit table để phục hồi lại record. Ngoài ra ta có thể dùng table này để tìm ra thủ phạm đã xoá hay sửa chữa data khi cần thiết.
Ðể tạo ra hay xem một trigger bằng Enterprise Manager bạn làm như sau: Right-Click lên table mà bạn muốn tạo trigger->All Tasks-> Manage Triggers.
Lưu ý: Ðôi Khi ta chỉ muốn trigger thực sự hoạt động khi một hay vài column nào đó được Update chứ không phải bất kỳ column nào. Khi đó ta có thể dùng hàm Update(Column_Name) để kiểm tra xem column nào đó có bị update hay không.
Ví dụ:
Tạo một trigger cho Customer table. Bên trong Trigger (sau chữ AS) ta có thể kiểm tra xem nếu column First_Name hay Last_Name bị thay đổi thì mới hành động nếu không thì không làm gì cả
IF UPDATE (first_name) OR UPDATE (Last_Name)
BEGIN
Do some conditional processing when either of these columns are updated.
END
Nếu muốn kiểm tra nhiều columns ta có thể dùng hàm khác là Columns_Updated() . Xin xem thêm trong SQL Server Books Online để biết thêm chi tiết về cách sử dụng.
4.4. Views
Ðịnh nghĩa một cách đơn giản thì view trong SQL Server tương tự như Query trong Access database. View có thể được xem như một table ảo mà data của nó được select từ một stored query. Ðối với programmer thì view không khác chi so với table và có thể đặt ở vị trí của table trong các câu lệnh SQL. Ðặc điểm của View là ta có thể join data từ nhiều table và trả về một recordset đơn. Ngoài ra ta có thể "xào nấu" data (manipulate data) trước khi trả về cho user bằng cách dùng một số logic checking như (if, case...).
Create View OrderReport
As
Select OrderID,
(case when [Name] is null then 'New Customer'
else [Name]
end )As CustomerName,
ProductName,
DateProcessed
From Customers Right Outer Join Orders on Customers.CustomerID=Orders.CustomerID
Trong ví dụ trên ta chủ yếu trả về data từ Orders table trong PracticeDB nhưng thay vì display CustomerID vốn không có ý nhiều ý nghĩa đối với user ta sẽ display tên của customer bằng cách join với Customer table. Nếu Customer Name là Null nghĩa là tên của customer đã đặt order không tồn tại trong system. Thay vì để Null ta sẽ display "New Customer" để dễ nhìn hơn cho user.
Nói chung câu lệnh SQL trong View có thể từ rất đơn giản như select toàn bộ data từ một table cho đến rất phức tạp với nhiều tính năng programming của T-SQL.
View Thường Ðược Dùng Vào Việc Gì?
View thường được sử dùng vào một số công việc sau:
Khi sử dụng view ta có thể select,insert, update, delete data bình thường như với một table.
Select * From OrderReport Where DateProcessed <'2003-01-01'
Nguồn bài viết:
Dngaz.com
©2015 DOTNET GROUP. All contents are copyright of their authors.
©2016 DOTNET GROUP. All contents are copyright of their authors.

WARC-Type: response

Content-Type: application/http; msgtype=response

WARC-Identified-Payload-Type: application/xhtml+xml

Cache-Control: private

Content-Type: text/html; charset=utf-8

Connection: close


markdown:
Duylinhcomputer.com - Phân phối Bộ chuyển đổi VGA to HDMI, cáp chuyển VGA to HDMI chính hãng Ugreen.
Bộ chuyển đổi tín hiệu VGA to HDMI
- Giải pháp tiết kiệm chi phí cho kết nối từ máy tính, PC hỗ trợ chuẩn VGA ra màn hình tivi, máy chiếu....
- Hỗ trợ độ phân giải 480i, 576i, 1080p hiển thị hình ảnh sắc nét chân thực..
- VGA to HDMI Converter Ugreen cao cấp hỗ trợ 1920 x 1080p dùng để trình chiếu, xem phim dùng nhiều ở trường học, bệnh viện, phòng đào tạo
Chú ý: Trên thị trường có nhiều thiết bị chuyển đổi từ VGA to HDMI khác nhau, cho độ phân giải full HD của hình ảnh cũng khác nhau
- Các bạn nên lựa chọn những nơi uy tín, chuyên bán về thiết bị chuyển đổi, cáp chuyển vga to hdmi.
- Khi mua có thể kiểm tra tại nơi mua hàng
- Bảo hành rõ ràng, bộ chuyển VGA to HDMI Ugreen bảo hành 12 tháng (1 đổi 1).
Thiết bị:
Duy Linh Computer

X-XSS-Protection: 1; mode=block

X-Powered-By: UrlRewriter.NET 1.7.0


markdown:
Món ăn dễ chế biến mà ăn cũng rất ngon vì vậy bạn hãy thử chế biến món cá chiên thông thường sang cách làm này nhé!
**Cách làm cá chiên hình hoa cúc** hơi cầu kì một chút nhưng đáng để thử. **Nguyên liệu:**
- Miếng thăn cá đã được lọc xương để nguyên lớp da cá.
- Bột chiên giòn tẩm khô
- Để làm sốt chua ngọt bạn cần: Gừng, tỏi, ớt sừng, thì là.
- Nước mắm, dấm, đường và một ít bột ngô để tạo độ sệt cho sốt.
![ ca chien hinh hoa cuc gion ngon ngay tet - 1](http://anh.eva.vn/upload/1-2015/images/2015-01-24/1422065705-ca_chien_gion_1.jpg)
**Thực hiện:** **Bước 1: **Cắt cá thành những miếng có khổ gần 5cm, sau đó khứa các ô vuông bằng nhau ở mặt thịt cá. Khứa gần sát đến lớp da cá. ![ ca chien hinh hoa cuc gion ngon ngay tet - 2](http://anh.eva.vn/upload/1-2015/images/2015-01-24/1422065705-ca_chien_gion_2.jpg)
**Bước 2:** Rắc bột chiên giòn lên miếng cá, chú ý rắc bột cả vào các kẽ thịt cá vừa khứa để bột bám đều. Vì bột chiên đã có gia vị nên bạn không cần phải thêm muối gì hết. ![ ca chien hinh hoa cuc gion ngon ngay tet - 3](http://anh.eva.vn/upload/1-2015/images/2015-01-24/1422065705-ca_chien_gion_3.jpg)
**Bước 3: **Cho chảo hoặc nồi sâu lòng lên bếp. Cho lượng dầu đủ để chiên ngập bề mặt cá vào chảo. Dầu sôi, thả cá vào chảo. Khi chiên lớp da cá sẽ co lại làm phần thịt cá đã khứa tõe ra như hình bông hoa vậy. Cá chiên chín vàng, bạn để ra giấy thấm dầu cho thấm bớt dầu thừa rồi bạn làm sốt chua ngọt. ![ ca chien hinh hoa cuc gion ngon ngay tet - 4](http://anh.eva.vn/upload/1-2015/images/2015-01-24/1422065705-ca_chien_gion_4.jpg)
**Bước 4: **Gừng, tỏi băm nhuyễn, ớt sừng bỏ hạt thái mịn, thì là cũng thái nhỏ. ![ ca chien hinh hoa cuc gion ngon ngay tet - 5](http://anh.eva.vn/upload/1-2015/images/2015-01-24/1422065870-ca_chien_gion_5.jpg)
**Bước 5: **Cho đường, dấm, nước mắm, một ít nước lọc vào nồi, vừa đun lửa nhỏ vừa ngoáy để đường tan, nước mắm sôi thả gừng, tỏi, ớt băm vào nồi. Pha bột ngô với xíu nước lọc rồi vừa rót vào nồi vừa ngoáy để sốt có độ sệt. Nêm nếm, gia giảm cho sốt có đủ vị chua, mặn, ngọt vừa ăn rồi bạn thả thì là thái nhỏ vào nồi ngoáy đều và bắc ra khỏi bếp. ![ ca chien hinh hoa cuc gion ngon ngay tet - 6](http://anh.eva.vn/upload/1-2015/images/2015-01-24/1422065705-ca_chien_gion_6.jpg)
**Bước 6:** Khi nào ăn bạn mới rưới sốt chua ngọt lên cá để thưởng thức. Không cho trước sẽ mất độ giòn của cá. ![ ca chien hinh hoa cuc gion ngon ngay tet - 7](http://anh.eva.vn/upload/1-2015/images/2015-01-24/1422065705-ca_chien_gion_7.jpg)
![ ca chien hinh hoa cuc gion ngon ngay tet - 8](http://anh.eva.vn/upload/1-2015/images/2015-01-24/1422065705-ca_chien_gion_8.jpg)
![ ca chien hinh hoa cuc gion ngon ngay tet - 9](http://anh.eva.vn/upload/1-2015/images/2015-01-24/1422065705-ca_chien_gion_10.jpg)
![ ca chien hinh hoa cuc gion ngon ngay tet - 10](http://anh.eva.vn/upload/1-2015/images/2015-01-24/1422065705-ca_chien_gion_9.jpg)
Chúc bạn thành công với món
__cá chiên hình hoa cúc__ đẹp mắt và ngon miệng này nhé!

WARC-Truncated: length

X-CacheDebug-7: Starting wrote cachefile /home/webeva/cache/quickcache/5/32/qcc-3202dd7e137abba009bb3d86c7340593

X-CacheDebug-8: quickcache_filewrite wrote cachefile /home/webeva/cache/quickcache/5/32/qcc-3202dd7e137abba009bb3d86c7340593

X-Frame-Options: SAMEORIGIN

X-CacheDebug-1: Cache scriptkey is set to /index.php

X-CacheDebug-2: Cache varkey is set to GET=a:2:{s:13:"SERVER_REGION";s:2:"US";s:7:"web_url";s:60:"bep-eva/ca-chien-hoa-cuc-gion-ngon-ngay-tet-c162a211496.html";}

X-CacheDebug-5: Callback happened

X-CacheDebug-6: Writing cached data to storage

X-CacheDebug-3: Cachekey is set to 3202dd7e137abba009bb3d86c7340593

Content-Type: text/html; charset=Utf-8

X-CacheDebug-4: No (valid) cachedata for 3202dd7e137abba009bb3d86c7340593

X-Cache: QuickCache vv2.1.1rc1 - file

X-CacheDebug-10: Successfully wrote cachefile /home/webeva/cache/quickcache/5/32/qcc-3202dd7e137abba009bb3d86c7340593

Cache-Control: public

Vary: Accept-Encoding,User-Agent


markdown:
# Hoảng sợ với loại dâu tây xanh da trời lạ mắt
Màu sắc lạ lùng của giống dâu tây mới này khiến nhiều người e ngại vì sợ tẩm hóa chất độc hại.
Gần đây trên thị trường xuất hiện hình ảnh một loại dâu tây màu xanh. Nhìn vẻ ngoài độc lạ, rất nhiều người không tin rằng chúng thật sự được gieo trồng từ hạt mà là kết quả của màu nhuộm thực phẩm. Tuy nhiên, đây thực sự là giống dâu tây mới được phát triển bởi các nhà khoa học.
![ hoang so voi loai dau tay xanh da troi la mat - 1](http://eva-img.24hstatic.com/upload/4-2015/images/2015-11-10/1447146426-8888.jpg)
![ hoang so voi loai dau tay xanh da troi la mat - 2](http://eva-img.24hstatic.com/upload/4-2015/images/2015-11-10/1447146520-36761_4.jpg)
Từ nhiều năm trước, các nhà khoa học nông nghiệp đã nghiên cứu các biến đổi di truyền cho phép dâu tây sống sót trong nhiệt độ lạnh tốt hơn. Họ đã và đang làm điều đó bằng cách chuyển một phần gen của loài cá bơn Bắc Cực. Loài cá xứ lạnh này có gen sản xuất một chất chống đăng cho phép bảo vệ mình khi sống trong vùng nước lạnh.
Sau khi phân lập được loại gen sản xuất chất chống đông lạnh và kết hợp vào quả đã tạo nên loại dâu tây xanh. Không chỉ thay đổi về màu sắc, chúng không bị ảnh hưởng bởi đá lạnh dù cho vào ngăn đá tủ lạnh.
Cận cảnh dâu tây xanh da trời độc lạ
![ hoang so voi loai dau tay xanh da troi la mat - 3](http://eva-img.24hstatic.com/upload/4-2015/images/2015-11-10/1447146426-blue-450x362.jpg)
Một nghiên cứu khoa học năm 2004 được tiến hành bởi các nhà khoa học ở Thái Lan từng đề cập: "
*Việc chuyển gen mã hóa protein chống đông (AFP) từ cá Bắc Cực là một trong những phương pháp tăng sức đề kháng sương giá. Thực tế, quả dâu tây rất mềm và có tuổi thọ ngắn. Dâu tây phải được bảo quản ở nhiệt độ thấp để kéo dài thời hạn sử dụng nhưng bảo quản ở nhiệt độ quá lạnh sẽ ảnh hưởng đến hương vị của dâu tây. Vì vậy, AFP có thể giải quyết vấn đề này. "*
Các nghiên cứu vẫn đang được tiếp tục nhưng câu hỏi đặt ra là liệu người tiêu dùng có dám ăn nếu dâu tây màu xanh được sản xuất đại trà?
![ hoang so voi loai dau tay xanh da troi la mat - 4](http://eva-img.24hstatic.com/upload/4-2015/images/2015-11-10/1447146612-dau-tay-xanh.jpg)
[Cây cảnh độc đáo](http://eva.vn/cay-canh-doc-dao-c169e2066.html)

X-CacheDebug-7: Starting wrote cachefile /home/webeva/cache/quickcache/5/2a/qcc-2a3e33d53fb2efd2b058510dc9d9b5ed

X-CacheDebug-8: quickcache_filewrite wrote cachefile /home/webeva/cache/quickcache/5/2a/qcc-2a3e33d53fb2efd2b058510dc9d9b5ed

X-CacheDebug-2: Cache varkey is set to GET=a:2:{s:13:"SERVER_REGION";s:2:"US";s:7:"web_url";s:70:"nha-dep/hoang-so-voi-loai-dau-tay-xanh-da-troi-la-mat-c169a243837.html";}

X-CacheDebug-3: Cachekey is set to 2a3e33d53fb2efd2b058510dc9d9b5ed

X-CacheDebug-4: No (valid) cachedata for 2a3e33d53fb2efd2b058510dc9d9b5ed

X-CacheDebug-10: Successfully wrote cachefile /home/webeva/cache/quickcache/5/2a/qcc-2a3e33d53fb2efd2b058510dc9d9b5ed


markdown:
**1. Khi đang tô son đỏ** ![ "cuoi chay nuoc mat" voi 1001 canh eo le khi phu nu lam dep - 1](http://eva-img.24hstatic.com/upload/3-2016/images/2016-08-08/1-1470644824-width500height517.jpg)
**2. Sống sót qua mùa hè** ![ "cuoi chay nuoc mat" voi 1001 canh eo le khi phu nu lam dep - 2](http://eva-img.24hstatic.com/upload/3-2016/images/2016-08-08/2-1470644824-width500height666.jpg)
**3. Khi mặc quần** ![ "cuoi chay nuoc mat" voi 1001 canh eo le khi phu nu lam dep - 3](http://eva-img.24hstatic.com/upload/3-2016/images/2016-08-08/3-1470644824-width500height539.jpg)
**4. Khi sử dụng web** ![ "cuoi chay nuoc mat" voi 1001 canh eo le khi phu nu lam dep - 4](http://eva-img.24hstatic.com/upload/3-2016/images/2016-08-08/5-1470644824-width500height525.jpg)
**5. Khi đi thăm bạn bè** ![ "cuoi chay nuoc mat" voi 1001 canh eo le khi phu nu lam dep - 5](http://eva-img.24hstatic.com/upload/3-2016/images/2016-08-08/6-1470644824-width500height525.jpg)
**6. Khốn khổ vì ngày đèn đỏ** ![ "cuoi chay nuoc mat" voi 1001 canh eo le khi phu nu lam dep - 6](http://eva-img.24hstatic.com/upload/3-2016/images/2016-08-08/7-1470644824-width577height603.jpg)
**7. Khi tẩy lông chân** ![ "cuoi chay nuoc mat" voi 1001 canh eo le khi phu nu lam dep - 7](http://eva-img.24hstatic.com/upload/3-2016/images/2016-08-08/8-1470644824-width596height600.jpg)
**8. Khi để mặt mộc** ![ "cuoi chay nuoc mat" voi 1001 canh eo le khi phu nu lam dep - 8](http://eva-img.24hstatic.com/upload/3-2016/images/2016-08-08/9-1470644824-width594height617.jpg)
**9. Khi mua sắm quần áo** **10. Khi trang điểm bắt kịp xu hướng** ![ "cuoi chay nuoc mat" voi 1001 canh eo le khi phu nu lam dep - 10](http://eva-img.24hstatic.com/upload/3-2016/images/2016-08-08/11-1470644824-width605height612.jpg)
**11. Chuyện ăn uồng trong thời kỳ đèn đỏ** ![ "cuoi chay nuoc mat" voi 1001 canh eo le khi phu nu lam dep - 11](http://eva-img.24hstatic.com/upload/3-2016/images/2016-08-08/12-1470644824-width589height623.jpg)
**12. Khi làm tóc** ![ "cuoi chay nuoc mat" voi 1001 canh eo le khi phu nu lam dep - 12](http://eva-img.24hstatic.com/upload/3-2016/images/2016-08-08/13-1470644824-width616height603.jpg)
**13. Cố gắng ăn kiêng** ![ "cuoi chay nuoc mat" voi 1001 canh eo le khi phu nu lam dep - 13](http://eva-img.24hstatic.com/upload/3-2016/images/2016-08-08/14-1470644824-width616height614.jpg)
**14. Khi tập Yoga** ![ "cuoi chay nuoc mat" voi 1001 canh eo le khi phu nu lam dep - 14](http://eva-img.24hstatic.com/upload/3-2016/images/2016-08-08/15-1470644824-width595height613.jpg)
**15. Tìm đồ để mặc** ![ "cuoi chay nuoc mat" voi 1001 canh eo le khi phu nu lam dep - 15](http://eva-img.24hstatic.com/upload/3-2016/images/2016-08-08/16-1470644824-width628height621.jpg)
**16. Đi mua áo tắm** ![ "cuoi chay nuoc mat" voi 1001 canh eo le khi phu nu lam dep - 16](http://eva-img.24hstatic.com/upload/3-2016/images/2016-08-08/17-1470644824-width630height616.jpg)
**17. Cố gắng để ăn kiêng** ![ "cuoi chay nuoc mat" voi 1001 canh eo le khi phu nu lam dep - 17](http://eva-img.24hstatic.com/upload/3-2016/images/2016-08-08/18-1470644824-width601height614.jpg)
**18. Khi vẽ mắt** ![ "cuoi chay nuoc mat" voi 1001 canh eo le khi phu nu lam dep - 18](http://eva-img.24hstatic.com/upload/3-2016/images/2016-08-08/19-1470644824-width604height593.jpg)
**19. Nhờ ai đó chụp ảnh** ![ "cuoi chay nuoc mat" voi 1001 canh eo le khi phu nu lam dep - 19](http://eva-img.24hstatic.com/upload/3-2016/images/2016-08-08/20-1470644824-width420height689.jpg)

X-CacheDebug-7: Starting wrote cachefile /home/webeva/cache/quickcache/5/b0/qcc-b0f243a744b7a3bd7ff1670c265d1ae1

X-CacheDebug-8: quickcache_filewrite wrote cachefile /home/webeva/cache/quickcache/5/b0/qcc-b0f243a744b7a3bd7ff1670c265d1ae1

X-CacheDebug-2: Cache varkey is set to GET=a:2:{s:13:"SERVER_REGION";s:2:"US";s:7:"web_url";s:84:"thoi-trang/cuoi-chay-nuoc-mat-voi-1001-canh-eo-le-khi-phu-nu-lam-dep-c36a276980.html";}

X-CacheDebug-3: Cachekey is set to b0f243a744b7a3bd7ff1670c265d1ae1

X-CacheDebug-4: No (valid) cachedata for b0f243a744b7a3bd7ff1670c265d1ae1

X-CacheDebug-10: Successfully wrote cachefile /home/webeva/cache/quickcache/5/b0/qcc-b0f243a744b7a3bd7ff1670c265d1ae1


markdown:
iPhone 7 Plus 128GB
17.523.000
__đ__
- Còn 41 máy tại An Giang,Bắc Kạn,Bắc Ninh,Bình Dương,Cà Mau,Đà Nẵng,Đồng Nai,Hà Nội,Hồ Chí Minh,Huế,Kiên Giang,Lâm Đồng,Lào Cai,Long An,Nam Định,Ninh Bình,Quảng Ngãi,Quảng Ninh,Tây Ninh,Thanh Hóa
iPhone 7 Plus 32GB
16.060.000
__đ__
- Còn 24 máy tại Bắc Giang,Bình Dương,Đà Nẵng,Đak Lak,Hà Nội,Hồ Chí Minh,Huế,Hưng Yên,Lâm Đồng,Lào Cai,Long An,Nghệ An,Quảng Ngãi,Thanh Hóa

WARC-Identified-Payload-Type: text/html

Vary: Accept-Encoding

Server: fws

X-Cache: MISS from 51


markdown:
**Kẹo socola hạt óc cho **ngọt ngọt lại thêm chút vị đắng đắng và bùi bùi của hạt óc cho,vừa ngon lạ miệng lạ tốt cho sức khỏe của gia đình ngày Tết, chị em nội trợ hãy thử nhé! Gần đến Tết rồi,hãy chuẩn bị vào bếp để tự tay làm các **món kẹo mứt ngon** cho cả nhà vừa an toàn vừa hợp khẩu vị lại đồng thời hưởng ứng cái không khí truyền thống những ngày đón tết
Bên cạnh các món mứt ngon thì socola trộn nho khô và óc chó cũng là món kẹo ngon ngọt để mời khách ngày Tết, đây hẳn là món ăn ngon ngọt mà bạn nên có .Cùng bếp FSFamily.vn học
**cách làm kẹo socola **cực đơn giản nhé. **Cách làm kẹo socola ngon lạ miệng** **Chuẩn bị:**
– Socola thành phẩm 100gr
-30gr hạt óc chó, 30gr nho khô, 2 thìa nhỏ bơ nhạt
**Cách làm:** **Bước 1:** Socola mua về liền băm nhỏ.
Cho socola vào một cái bát to, thêm với 2 thìa bơ. Cho bát vào nồi đun nước sôi để hấp cách thuỷ để bơ và socola tan chảy.
**Bước 2:** Đảo đều hỗn hợp để socola và bơ được tan đều và hòa quyện cùng nhau. Khi socola đã tan chảy hoàn toàn là được. Lấy hỗn hợp trộn cùng với hạt và quả khô.
**Bước 3:** Tiếp theo, hạt óc chó và nho khô bạn mua về đem đi thái nhỏ hạt lựu như hình dưới. Sau đó trộn đều với bát socola.
**Bước 4: **Chuẩn bị khay, phía dưới khay có lót 1 lớp giấy nến để dễ dàng lấy sô cô la ra khi khô. Cho hỗn hợp socola đã làm từng hộp và để như vậy cho đến khi khô cứng lại
**Bước 5:** Khi socola khô cứng lại, ra khỏi hộp. Những miếng socola trộn lẫn với hạt nho khô và hạt óc chó bóng đẹp, khô hấp dẫn là có thể ăn, đảm bảo ai ăn cũng thích.
**Trình bày: **Bạn có thể cắt các miếng *socola *thành những miếng vuông nhỏ khi thưởng thức.
*Trên đây là cách làm socola trộn nho khô,hạt óc chó mà FSFamily.vn chia sẻ đến các bạn hy vọng sẽ giúp bạn có thêm nhiều kiến thức về nấu nướng hơn và đừng quên ấn like ủng hộ báo chúng tôi và cập nhật mỗi ngày để biết thêm nhiều thông tin hữu ích khác nhé! Chúc bạn một ngày vui vẻ!*

Server: cloudflare-nginx

Content-Type: text/html; charset=UTF-8


markdown:
[Hướng dẫn chơi](javascript:void(0);)game Tap lai oto 2 | [thêm vào blog](javascript:void(0))
Độ tuổi: 00+
Thể loại:
[Game dua xe](http://game.24h.com.vn/dua-xe-c117.html)
Nội dung trò chơi tập lái oto 2:
Trong
**game tập lái oto 2**, Trải nghiệm cảm giác của một tay đua thực sự khi ngồi trước vô lăng và chinh phục những cung đường khó khăn nhất. Liệu bạn có thể hoàn thành tất cả những thử thách kỳ lạ của trò chơi này?
Nhiệm vụ của bạn trong
__trò chơi tập lái oto 2__, là điều khiển xe và thực hiện các nhiệm vụ của màn chơi.
Cách chơi game tập lái oto 2:
Sử dụng các phím mũi tên
để điều khiển xe.
Chúc bạn có những phút giây vui vẻ khi
*chơi* *trò chơi tập lái oto 2* online !
• Chơi luôn
[game Angry bird đua xe](http://game.24h.com.vn/dua-xe/angry-bird-dua-xe-c117g2317b50.html)trò chơi nhập vai chú angry bird đua xe cùng bầy heo bad piggies
• Bấm chơi
[game mario đua xe](http://game.24h.com.vn/dua-xe/mario-dua-xe-c117g1884b78.html)nhập vai mario đua xe vui vẻ
• Click ngay
[game đua xe hummer](http://game.24h.com.vn/dua-xe/dua-xe-hummer-c117g2337b78.html)trò chơi đua xe sử dụng chiếc xe hummer Mỹ nổi tiếng.
game liên quan
[Học lái xe oto](http://game.24h.com.vn/tinh-diem/hoc-lai-xe-oto-c145g1818b16.html)
Đang chơi: 14
[Tập lái ô tô](http://game.24h.com.vn/tinh-diem/tap-lai-o-to-c145g2377b16.html)
Đang chơi: 16
[Trường học lái xe](http://game.24h.com.vn/tinh-diem/truong-hoc-lai-xe-c145g1155b204.html)
Đang chơi: 14
[Trượt băng](http://game.24h.com.vn/tinh-diem/truot-bang-c145g3607b108.html)
Đang chơi: 544
[Bảo vệ công chúa](http://game.24h.com.vn/tinh-diem/bao-ve-cong-chua-c145g3599b108.html)
Đang chơi: 615
[Bác sĩ nha khoa 4](http://game.24h.com.vn/tinh-diem/bac-si-nha-khoa-4-c145g3602b108.html)
Đang chơi: 671
[Chú khỉ buồn 44](http://game.24h.com.vn/tinh-diem/chu-khi-buon-44-c145g3603b108.html)
Đang chơi: 1292
[Tô màu Elsa 2](http://game.24h.com.vn/tinh-diem/to-mau-elsa-2-c145g3606b108.html)
Đang chơi: 890
[Bói tình yêu 5](http://game.24h.com.vn/tinh-diem/boi-tinh-yeu-5-c145g3594b108.html)
Đang chơi: 1168
[Xếp hình Tetris 2](http://game.24h.com.vn/tinh-diem/xep-hinh-tetris-2-c145g3597b108.html)
Đang chơi: 149
[Kết nối dấu chấm](http://game.24h.com.vn/tinh-diem/ket-noi-dau-cham-c145g3598b108.html)
Đang chơi: 546
[Cowboy bắn zombie](http://game.24h.com.vn/tinh-diem/cowboy-ban-zombie-c145g3601b108.html)
Đang chơi: 212
[Cá lớn nuốt cá bé 6](http://game.24h.com.vn/tinh-diem/ca-lon-nuot-ca-be-6-c145g3595b108.html)
Đang chơi: 322
[Chú khỉ buồn 43](http://game.24h.com.vn/tinh-diem/chu-khi-buon-43-c145g3593b108.html)
Đang chơi: 588
[Tắm cho em bé 2](http://game.24h.com.vn/tinh-diem/tam-cho-em-be-2-c145g3589b108.html)
Đang chơi: 330
[Máy bay chiến đấu 3](http://game.24h.com.vn/tinh-diem/may-bay-chien-dau-3-c145g3600b108.html)
Đang chơi: 194
[Siêu anh hùng đua xe](http://game.24h.com.vn/tinh-diem/sieu-anh-hung-dua-xe-c145g3583b108.html)
Đang chơi: 197
[Tìm đồ vật](http://game.24h.com.vn/tinh-diem/tim-do-vat-c145g3588b108.html)
Đang chơi: 172
[Trở lại trường học](http://game.24h.com.vn/tinh-diem/tro-lai-truong-hoc-c145g3591b108.html)
Đang chơi: 440
[Cô bạn thân](http://game.24h.com.vn/tinh-diem/co-ban-than-c145g3590b108.html)
Đang chơi: 454
[Chú khỉ buồn 42](http://game.24h.com.vn/tinh-diem/chu-khi-buon-42-c145g3592b108.html)
Đang chơi: 424
[Thu thập bông tuyết](http://game.24h.com.vn/tinh-diem/thu-thap-bong-tuyet-c145g3587b108.html)
Đang chơi: 211
[Bác sĩ đa khoa](http://game.24h.com.vn/tinh-diem/bac-si-da-khoa-c145g3586b108.html)
Đang chơi: 543
<< Trang đầu
__1__

Pragma: no-cache

Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0


markdown:
Kính mời bạn đọc đón theo dõi!
Liên hệ mua và đặt báo: Phòng Phát hành Báo Giác Ngộ, 85 Nguyễn Đình Chiểu, P.6, Q.3, TP.HCM - ĐT: (08) 393 00675 - 393 06982 - DĐ: 0932059528.
Ý kiến của bạn:


markdown: Lễ Truyền Dầu: năm nay sẽ tổ chức tại Nhà thờ Chính Tòa vào lúc 8g30, thứ Năm, 13.04.2017 do Đức cha Giuse ĐInh Đức Đạo - Giám mục Giáo Phận chủ sự

X-Powered-By-Plesk: PleskWin


markdown:
www.hanam.gov.vn
Tìm kiếm:
Thứ ba, ngày 23/05/2017
Giới thiệu chung
Lĩnh vực Công an
Lĩnh vực Công thương
Tin tức - Sự kiện
Lĩnh vực Giáo dục và Đào tạo
Thông tin Kinh tế xã hội
Lĩnh vực Xây dựng
Lĩnh vực Giao thông
Lĩnh vực Giao thông
Lĩnh vực Tư pháp
Hợp tác - Đầu tư
Định hướng mục tiêu
Các thế mạnh đầu tư
Các doanh nghiệp tiêu biểu
Các dự án kêu gọi đầu tư
Những dự án đã và đang thực hiện
Các chính sách ưu đãi
Lĩnh vực Giáo dục- Đào tạo
Lĩnh vực Kế hoạch - Đầu tư
Lĩnh vực Nội vụ
Lĩnh vực Lao động TB&XH
Thông tin cần biết
Lĩnh vực NN&PTNT
Lĩnh vực Nội vụ
Lịch tiếp dân
Lĩnh vực Lao động TB&XH
Lĩnh vực Nông nghiệp và PTNT
Danh bạ thư điện tử
Văn bản quy phạm pháp luật và chỉ đạo điều hành
Lĩnh vực Tài chính
Lĩnh vực Quốc phòng - Quân sự
Sáng kiến, đề tài khoa học
Lĩnh vực Kế hoạch- Đầu tư
Lĩnh vực Tài chính - Kế hoạch
Thông tin chỉ đạo, điều hành
Thông tin tuyên truyền, phổ biến
Lĩnh vực TN&MT
Lĩnh vực Tài nguyên và Môi trường
Lĩnh vực Thi hành án DS
Lĩnh vực Thanh tra
Chiến lược - định hướng - quy hoạch - kế hoạch phát triển
Lĩnh vực Tư pháp
Lĩnh vực Văn hóa
Thông tin về dự án, hạng mục đầu tư, đấu thầu, mua sắm công
Lĩnh vực Văn hóa TT
Lĩnh vực Y tế
Ý kiến góp ý của nhân dân vào dự thảo văn bản
Hỏi - Đáp
Thủ tục hành chính
Liên kết website
-- Liên kết Websites --
Website tỉnh Hưng Yên
Website tỉnh Lâm Đồng
Duy Tiên
Trang chủ
»
Hợp tác - Đầu tư
Hợp tác - Đầu tư
Thông báo bán đấu giá quyền sử dụng đất tại xã Tiên Nội, huyện Duy Tiên
(08/09/2014)
Trung tâm dịch vụ bán đấu giá tài sản tỉnh Hà Nam thông báo về việc tổ chức bán đấu giá quyền dử dụng đất cho các hộ gia đình và cá nhân làm nhà ở vị trí xen kẹp tại xã Tiên Nội huyện Duy Tiên gồm 114 lô.
30 học sinh được nhận học bổng từ nhà tài trợ Prudential
(19/11/2012)
DANH MỤC LĨNH VỰC ƯU ĐÃI ĐẦU TƯ
(05/11/2012)
ITA: Quy hoạch Khu công nghiệp ITAHAN 300ha
(08/08/2012)
>>Xem thêm
Định hướng mục tiêu
Định hướng phát triển kinh tế - xã hội huyện Duy Tiên đến năm 2010
(19/06/2012)
Đẩy mạnh phát triển kinh tế - xã hội, nâng cao đời sống nhân dân . Tập trung phát triển công nghiệp - tiểu thủ công nghiệp trên cơ sở phát triển vững chắc nông nghiệp, nâng cao chất lượng các lĩnh vực dịch vụ tạo điều kiện chuyển dịch cơ cấu kinh tế, cơ cấu lao động. Phấn đấu đến năm 2010 trở thành huyện trọng điểm phát triển công nghiệp của tỉnh.
Các thế mạnh đầu tư
ITA: Quy hoạch Khu công nghiệp ITAHAN 300ha
(08/08/2012)
Thông tin từ Công ty CP Tập đoàn Tân Tao (ITA), ITA vừa mới công bố quy hoạch chi tiết xây dựng 1/2000 KCN Tân Tạo – Hà Nam (ITAHAN), tổng diện tích 300ha
Khởi công Trung tâm TM và DV VP kết hợp nhà ở Housing garden
(19/06/2012)
Các doanh nghiệp tiêu biểu
Các doanh nghiệp trên địa bàn huyện Duy Tiên
(19/06/2012)
Các dự án kêu gọi đầu tư
Thông báo bán đấu giá quyền sử dụng đất tại xã Tiên Nội, huyện Duy Tiên
(08/09/2014)
Trung tâm dịch vụ bán đấu giá tài sản tỉnh Hà Nam thông báo về việc tổ chức bán đấu giá quyền dử dụng đất cho các hộ gia đình và cá nhân làm nhà ở vị trí xen kẹp tại xã Tiên Nội huyện Duy Tiên gồm 114 lô.
Thêm một dự án đầu tư nước ngoài tại Hà Nam bị UBND tỉnh chấm dứt hoạt động vì vi phạm pháp luật
(07/08/2012)
Lễ khởi công xây dựng Nhà máy Bia Sài Gòn - Phủ Lý
(07/08/2012)
Những dự án đã và đang thực hiện
Các dự án đã và đang thực hiện
(08/08/2012)
Mộc Bắc: Công bố quy hoạch vùng nguyên liệu sản xuất VLXD và quy hoạch nhà máy gạch Tuynel Nam Thăng Long - Mộc Bắc
(20/12/2011)
Các chính sách ưu đãi
30 học sinh được nhận học bổng từ nhà tài trợ Prudential
(19/11/2012)
DANH MỤC LĨNH VỰC ƯU ĐÃI ĐẦU TƯ
(05/11/2012)
Về đầu trang
Trang chủ
Liên kết các sở, ban, ngành
--- Chọn sở, ban, ngành ---
Văn phòng HĐND tỉnh
Văn phòng UBND tỉnh
Sở Tài chính
Sở Kế hoạch và Đầu tư
Sở Giáo dục và Đào tạo
Sở Văn hóa Thể thao và Du lịch
Sở Công Thương
Sở Giao thông - Vận tải
Sở Khoa học và Công nghệ
Sở Nội vụ
Sở Tài nguyên và Môi trường
Sở Tư pháp
Sở Xây dựng
Sở Y tế
Sở Lao động - Thương binh và Xã hội
Sở Nông nghiệp và Phát triển nông thôn
Sở Thông tin và Truyền thông
Thanh tra tỉnh
UBND thành phố Phủ Lý
UBND huyện Thanh Liêm
UBND huyện Lý Nhân
UBND huyện Kim Bảng
UBND huyện Duy Tiên
UBND huyện Bình Lục
Ban quản lý các khu công nghiệp
Ban quản lý khu đại học Nam Cao
Công An tỉnh
Trang tin thương mại điện tử Hà Nam
Liên kết các sở, ban, ngành
--- Chọn Sở ban ngành ---
Sở Thông tin truyền thông
Văn phòng UBND Tỉnh Hà Nam
Văn phòng Đoàn ĐBQH và HĐND tỉnh
Sở Nông nghiệp và Phát triển nông thôn
Sở Tài chính
Sở Kế hoạch và Đầu tư
Sở Công thương
Sở Xây dựng
Sở Khoa học và Công nghệ
Sở Tư pháp
Sở Văn hoá, Thể thao và Du lịch
Sở Giao thông - Vận tải
Sở Nội vụ
Sở Tài nguyên Môi trường
Sở Lao động – Thương binh và Xã hội
Sở Giáo dục và Đào tạo
Sở Y Tế
Thanh tra tỉnh
UBND thành phố Phủ Lý
UBND huyện Kim Bảng
UBND huyện Bình Lục
UBND huyện Lý Nhân
UBND huyện Duy Tiên
UBND huyện Thanh Liêm
Ban quản lý các khu công nghiệp
Thư viện ảnh
Thư viện nhạc, phim
Turn on more accessible mode
Skip to main content
Turn off more accessible mode
Sign In

WARC-Identified-Payload-Type: text/aspdotnet

Cache-Control: private, max-age=0


markdown:
##
[ Mua hàng trên Amazon tại Quảng Ngãi ](http://hangmyshipnhanh.vn/mua-hang-tren-amazon-tai-quang-ngai.html)
Mua hàng trên Amazon tại Quảng Ngãi Mua hàng trên Amazon tại Quảng Ngãi được HangMyShipNhanh hỗ trợ mua hàng và ship về Quảng Ngãi với thời gian nhanh nhất, rẻ nhất, uy tín nhất, an toàn nhất. 1. Thời gian nhanh nhất: Chúng tôi cam kết hàng…

P3P: CP="NOI"


markdown:
HDHAY.COM
Trang chủ
Năm sản xuất
2017
2016
2015
2014
2013
2012
2011
2010
2009
2008
2004
2003
2002
2001
2000
1999
1998
1997
1995
1994
1992
1993
1991
1990
2005
2006
2007
Mới
Thể loại
Phiêu lưu
Hành động
Kinh dị
Tình cảm
Hoạt hình
Võ thuật
Hài Hước
Hình Sự
Tâm Lý
Viễn Tưởng
Thần Thoại
Cổ Trang
Chiến Tranh
Âm Nhạc
Shows
Châu Tinh Trì
Quốc gia
Trung Quốc
Mỹ
Hàn Quốc
Hồng Kông
Nhật Bản
Việt Nam
Thái Lan
Khác
Ấn độ
Đài loan
Kiểu phim
Phim Chiếu Rạp
Phim lẻ
Phim bộ
PHIM CHIẾU RẠP
PHIM LẺ
PHIM BỘ
PHIM HÀN
SHOW
Trang chủ
Danh sách phim
load phim...
Trailer phim mới
Produce 101 Season 2 (2017)
Tập 7 VietSub
Sự Lãng Mạn Bí Mật
My Secret Romance (2017)
Tập 11 RAW
Mặt Nạ Quân Chủ
Ruler: Master Of The Mask (2017)
Tập 8 VietSub
Đối Tác Đáng Ngờ
Suspicious Partner (2017)
Tập 4 VS 2 TM
Secret Variety Training
Tập 1 VietSub
Vương Hậu 7 Ngày
Seven Day Queen (2017)
Teaser
Người Tình Dối Trá
The Liar And His Lover (2017)
Tập 16 VS 14 TM
Phim lẻ hot trong tuần
Quá Nhanh Quá Nguy Hiểm 8
Fast & Furious 8: The Fate Of The Furious (2017)
Thuyết Minh 1080p HDRip
Thần Sấm 3: Thời Khắc Tận Thế
Thor 3: Ragnarok (2017)
Trailer
50 Sắc Thái Đen
Fifty Shades Darker (2017)
Thuyết Minh 1080p Uncut
Kong: Đảo Đầu Lâu
Kong: Skull Island (2017)
Thuyết Minh 1080p
Tử Chiến Trường Thành
The Great Wall (2017)
Thuyết Minh 1080p
Vùng Đất Quỷ Dữ 6
Resident Evil 6: The Final Chapter (2017)
Thuyết Minh 1080p
Điệp Viên XXx 3: Sự Trở Lại Của Xander Cage
XXx 3: The Return Of Xander Cage (2017)
Thuyết Minh 1080p
Phim bộ hot trong tuần
Produce 101 Season 2 (2017)
Tập 7 VietSub
Running Man
Tập 351 Vietsub Full
Infinity Challenge
Thử Thách Cực Đại
Tập 530 VietSub
Thiên Tài Lang Băm
Yong Pal (2015)
Tập 18 Lồng Tiếng 1080p
1 Night 2 Days Season 3
Tập 176 RAW
Sự Lãng Mạn Bí Mật
My Secret Romance (2017)
Tập 11 RAW
Mặt Nạ Quân Chủ
Ruler: Master Of The Mask (2017)
Tập 8 VietSub
Từ khóa nổi bật
Fast & Furious 7 2015 Vietsub
Xem Phim Running Man
Quá Nhanh Quá Nguy Hiểm 7
Mercedes S63 AMG
Mercedes SLK350 amg
M88
Tin tức
[Siêu Phẩm] - Chúng Ta Không Luộc Được Rau
Lượt xem: 181868
“Hậu Duệ Mặt Trời”: Hết ôm nhau trong sáng, Song – Song lại cắm trại “trong tối”
Lượt xem: 380183
Song Joong Ki bị fan vây kín, sánh đôi bên Song Hye Kyo tại sân bay
Lượt xem: 378354
Hậu Duệ Của Mặt Trời | Descendants Of The Sun - Tập 13 - Tập 14
Lượt xem: 380787
Hậu Duệ Của Mặt Trời | Descendants Of The Sun - Tập 11 - Tập 12
Lượt xem: 383110
[X]
[X]


markdown:
Địa chỉ: 4A174 Thanh Niên, Ấp 4, Xã Phạm Văn Hai, Bình Chánh, Tp. Hồ Chí Minh
Điện thoại: 0938 815 991 - 0903 944 478
Email: trungthanh@hgc.com.vn
Website: hgc.com.vn
© Copyright 2016 Hoang Gia All rights reserved. Mrs.Thy: 0901 394 950 Design by Nina.vn
Đăng ký email của bạn đển nhận những thông tin mới nhất tư chúng tôi

Content-Type: text/html


markdown:
*23:54 28/04/2017*
*02:14 24/03/2017*
*00:52 18/03/2017*
*03:51 13/03/2017*
*03:52 13/11/2016*
*21:46 23/02/2016*
*07:56 23/02/2016*
Sáng 08/4/2017, đại diện HPFC - anh Đào Xuân Quyết cùng các CĐV bóng đá Hải Phòng đã trao quà tặng (xe gắn máy dành cho người khuyết tật) cho thành viên Cóc Trọng.

Server: LiteSpeed

Set-Cookie: nv4c_m9Q1J_nvvithemever=deleted; expires=Thu, 01-Jan-1970 00:00:01 GMT; Max-Age=0; path=/; domain=.hpfc.vn; httponly

X-Content-Type-Options: nosniff

Accept-Ranges: bytes

Cache-Control: private, pre-check=0, post-check=0, max-age=0

Content-Language: vi


markdown:
Hôm nay: Mon May 22, 2017 9:18 pm
[Kỹ năng lập trình](/f11-forum) [Diễn đàn các môn học - Huỳnh Phước Hải](/) :: [Các môn học](/c2-category) :: [Chuyên đề NNLTC# Khóa 10](/f1-forum) :: [Kỹ năng lập trình](/f11-forum)
- Chủ đề
- Trả lời
- Xem
- Bài gửi sau cùng
Đang truy cập Diễn Đàn này: Không
Người Điều Hành
Không
**Permissions in this forum:**
Bạn
**không có quyền** gửi bài viết
Bạn
**không có quyền** trả lời bài viết
Legend

P3P: CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"

Cache-Control: no-cache, no-store

Vary: User-Agent


markdown:
[Bài giảng lớp 33T2](/t38-topic)
Trang
**1**trong tổng số **1**trang • [Share](#)•
[Bài giảng lớp 33T2](/t38-topic#64)
http://www.mediafire.com/?wcngqzh2d1kpq
**root**
- Admin
- Tổng số bài gửi : 37
Join date : 03/01/2011
Age : 31
Đến từ : An Giang
Trang
**1**trong tổng số **1**trang
Bạn
**Permissions in this forum:** **không có quyền**trả lời bài viết

Cache-Control: no-cache


markdown:
[Nhận định](/nhan-dinh-bong-da.html) [Tường thuật](/tin-tuc/tuong-thuat-bong-da) [Tin tức bóng đá](/tin-tuc-bong-da.html) [Kết quả bóng đá](/ket-qua-bong-da.ikq) [Lịch thi đấu bóng đá](/lich-thi-dau-bong-da.hs) [Kèo bóng đá](/ty-le-keo-bong-da.html) [Bảng xếp hạng bóng đá](/bang-xep-hang-bong-da) [Video Clip](/video-clip-bong-da.html) [Ảnh bóng đá](/anh.abd) [Game dự đoán](/du-doan-bong-da.html)
## Thông tin đội bóng Tombense
|Thành lập|
|Quốc gia||Brazil|
|Địa chỉ|
|Website|
|Tuổi trung bình||(Đang cập nhật)|
|Danh hiệu||(Đang cập nhật)|
|Số lượng fan||(Đang cập nhật)|
|Tags (Từ khóa)|

Server: nginx


markdown:
[](/benh-nhi-13-tuoi-tu-vong-sau-tiem-la-do-viem-co-tim-choang-tim-post218479.info)
![ Bệnh nhi 13 tuổi tử vong sau tiêm là do viêm cơ tim, choáng tim](http://img.infonet.vn/w230/Uploaded/duchanh/2017_01_06/tiemthuoc.jpg)
|
|![]()
Bác sĩ Nguyễn Trí Dũng, Giám đốc Trung tâm Y tế Dự phòng TP.HCM cho biết, tính đến hết tháng 7.2015, số ca bệnh sốt xuất huyết ghi nhận tại TP.HCM lên đến 6.033 ca, tăng 47% so với cùng kì năm 2014.
Mùa dịch năm nay cũng đến sớm hơn 2 tháng so với thường lệ. Sốt xuất huyết đang có chiều hướng lan rộng, 17 phường xã có số ca bệnh tăng hơn 50% so với năm trước, xuất hiện nhiều ổ dịch kéo dài trên 5 tuần.
Trung tâm Y tế Dự phòng TP.HCM cho biết đang tiến hành các hoạt động xử lý ổ dịch, giám sát dịch tễ, đẩy mạnh truyền thông để người dân diệt lăng quăng, vệ sinh môi trường… nhằm kiểm soát dịch bệnh.


markdown:
© Copyright 2010 iOne.vnexpress.net, All rights reserved
® VnExpress giữ bản quyền nội dung trên website này.
Chuyên mục dành cho giới trẻ của VnExpress
Liên hệ quảng cáo / Tòa soạn
Thông tin Tòa soạn.: 08 7300 9999 - Máy lẻ: 4508, 4509 (HN) - 8558 (TP HCM)

Cache-Control: max-age=120, stale-while-revalidate=6, stale-if-error=864000, private

Set-Cookie: device_env=4; expires=Tue, 30-May-2017 03:27:51 GMT; path=/; domain=vnexpress.net


markdown:
# tủ bếp gỗ Quốc Cường
Thảo luận trong '
[Rao Vặt Toàn Quốc](forums/rao-vat-toan-quoc.66.html)' bắt đầu bởi [quoccuong02](members/quoccuong02.11847.html), [18/12/15](threads/tu-bep-go-quoc-cuong.59467.html).
Chủ để tương tự : tủ bếp
|Diễn đàn||Tiêu đề||Date|
|Rao Vặt Toàn Quốc||
|
Thảo luận trong '
[Rao Vặt Toàn Quốc](forums/rao-vat-toan-quoc.66.html)' bắt đầu bởi [quoccuong02](members/quoccuong02.11847.html), [18/12/15](threads/tu-bep-go-quoc-cuong.59467.html).
|Diễn đàn||Tiêu đề||Date|
|Rao Vặt Toàn Quốc||
|


markdown:
K45KD.01 is no 1
we are k45kd01's
Tìm kiếm
Display results as :
Số bài
Chủ đề
Advanced Search
K45KD.01 is no 1
::
Giao lưu tán gẫu
::
Tình yêu và giới tính
Share
|
hay đừng hỏi!
Tác giả
Thông điệp
thanh_kute
Tổng số bài gửi
:
49
Points
:
132
Reputation
:
0
Join date
:
04/04/2010
Age
:
28
Đến từ
:
SƠN LA
Tiêu đề: hay đừng hỏi!
Sun Sep 12, 2010 11:22 pm
Chào em, người con gái anh yêu... như muối tiêu!!!
Một ngày buồn như con chuồn chuồn , tháng chán như con cá rán, năm đen như con mèo hen. Em yêu dấu, người em như cái đấu, tóc em xù như lông gấu, tuy em hơi cá sấu nhưng anh vẫn yêu em nung nấu. Ðêm nay trăng cao tít mít, anh ngồi cong đít viết thư cho em, không gian bốn bề im ắng chỉ có tiếng ếch kêu và âm thanh như tiếng đàn violon du dương nhẹ nhàng của đàn muỗi đang vây quanh anh.
Em có biết rằng anh nhớ em nhiều lắm không? Anh ăn không ngon nhưng ngủ như điên, anh đi giầy quên đi tất, ăn sáng quên đánh răng, anh dùng xăng vo gạo, anh khờ khạo cũng chỉ vì yêu em đó.
Khổ thân anh khi chúng bạn toàn là những đứa không có nhà phải ở trong biệt thự, không có xe đạp mà phải ngồi lăncuđơ, không có tiền mà phải xài card.
Anh thì cái gì cũng có chỉ không có mỗi tiền. Anh xin tình nguyện dâng hiến cho em tấm thân trong trắng như tờ giấy than của anh cho em. Tấm thân của anh tuy đang mang trong người hai dòng máu nhưng vẫn còn là hàng xài được một số thứ.
Anh chỉ muốn những gì của em là của anh và những gì của anh là của riêng, ủa nhầm là của chung. Em có biết rằng anh yêu em từ khi anh thấy em lon ton như con chó con cùng mấy đứa bạn cùng là lũ quỷ cái đánh 1 thằng bạn nhỏ xíu. Anh sẽ làm tất cả để cho em vui...
Ranh ngôn có câu : "Không có việc gì khó, chỉ sợ tiền không nhiều, đào cống và lấp bể, cố làm cũng thành không". Em đừng buồn vì những lời bạn anh nói nhé, nó nói em :" Nhìn xa cứ tưởng con người, nhìn gần mới biết đười ươi xổng chuồng". Anh đau lắm nhưng không sao, bôi cao sẽ khỏi , không khỏi ăn tỏi sẽ hết, không hết cho chết là vừa. Về nhà anh không nuốt trôi cơm cố gắng lắm mới chỉ có 6 bát phở...
Một lần và mãi mãi anh muốn nói với em rằng anh yêu em như que kem mút dở, như dưa bở với đường, như lọ tương ngâm cà pháo, như con báo với cánh rừng, như muối vừng với lạc, như lão Hạc với con chó vàng...
Thôi mệt quá rồi anh đành phanh bút ở đây. Chào em và yêu em nhiều, chúc em gặp nhiều ác mộng, anh sẽ hiện ra để cùng em chạy trốn.
:
: :
:
thanh_kute
Tổng số bài gửi
:
49
Points
:
132
Reputation
:
0
Join date
:
04/04/2010
Age
:
28
Đến từ
:
SƠN LA
Tiêu đề: Re: hay đừng hỏi!
Sun Sep 12, 2010 11:22 pm
:
:
hay đừng hỏi!
Trang
1
trong tổng số
1
trang
Permissions in this forum:
Bạn
không có quyền
trả lời bài viết
K45KD.01 is no 1
::
Giao lưu tán gẫu
::
Tình yêu và giới tính
K45KD.01 is no 1
::
Giao lưu tán gẫu
::
Tình yêu và giới tính
Chuyển đến
:
Chọn Diễn Đàn
|
|--Thông báo !!!!
| |--Thông báo
| |--Danh sách lớp K45TĐH01
|
|--Tin tức K45KD01
| |--Tin tức bài giảng
| |--Sự kiện
| |--Thảo luận bài tập
|
|--Ảnh K45kd01
| |--ảnh động
| |--ảnh vui
| |--ảnh kỷ niệm
| |--ảnh thành viên
| |--Ảnh bạn bè
|
|--CNTT & Giải trí
| |--Download phần mềm, game,...
| |--Giới thiệu phầm mềm
| |--truyện cười
| |--Lập trình
| |--Quảng cáo - Tuyển dụng - Khác
|
|--Linh ta linh tinh
| |--HDSD forum
| |--Điện ảnh, tin tức sao
| |--Clip vui
| |--Bói vui
| |--Góc bạn gái
| |--"Share" bạn cho tôi
|
|--Giao lưu tán gẫu
| |--Tình yêu và giới tính
| |--Đời sống
| |--Trà đá(buôn chuyện, tán phét)
|
|--Phim
| |--Phim hot
| |--Phim hành động
| |--Phim hoạt hình
|
|--Your first category
| |--Your first forum
|
|--Góc game
| |--Game Au
| |--Game CF
| |--Game đế chế
| |--Game khác
|
|--ca nhạc
| |--Thành viên hát
| |--Ca nhạc
|
|--Thùng rác
Forumotion.com
|
©
phpBB
|
Free forum support
|
Liên hệ
|
Report an abuse
|
Create a blog


markdown:
K45KD.01 is no 1
we are k45kd01's
Tìm kiếm
Display results as :
Số bài
Chủ đề
Advanced Search
K45KD.01 is no 1
::
Giao lưu tán gẫu
::
Trà đá(buôn chuyện, tán phét)
Share
|
Bi hài chuyện Tòa án
Tác giả
Thông điệp
ngandajka
Admin
Tổng số bài gửi
:
256
Points
:
608
Reputation
:
9
Join date
:
01/04/2010
Age
:
24
Đến từ
:
Thái Bình
Tiêu đề: Bi hài chuyện Tòa án
Mon Oct 11, 2010 5:55 pm
Văn hóa pháp đình là vấn đề không mới, nhưng thời gian gần đây lại xuất hiện nhiều vụ việc cho thấy câu chuyện này đã trở nên “khổ lắm, nói mãi...” và rất đáng báo động. Thậm chí, một tòa án cấp quận tại TP.HCM mới đây khi đăng cai hội thảo mổ xẻ “văn hóa pháp đình” đã thu hút sự tham gia của đông đảo các chuyên gia, thẩm phán, kiểm sát viên, luật sư...
Một cán bộ trong ngành tư pháp kể một câu chuyện xảy ra cách đây không lâu, trong một phiên tòa hình sự khi bị cáo trình bày loanh quanh, vị thẩm phán chủ tọa đã hét: “Câm ngay”. Tuy không trực tiếp chứng kiến cảnh ấy, nhưng có lần chúng tôi đã phải sửng sốt vì vị chủ tọa ở một phiên xử của tòa án cấp huyện tại TP.HCM “mời” kiểm sát viên xét hỏi bằng câu: “Ê, tới phần của mày rồi đó”.
“Mất thời gian lắm”
Một cảnh thường gặp, trong cùng một buổi, hội đồng xét xử (HĐXX) có thể đưa từ 3 đến 5 vụ án ra xét xử, nên thông thường để tiết kiệm thời gian phần thủ tục được làm chung cho tất cả các vụ án. Và khi xử đến vụ án nào, vị chủ tọa chỉ hỏi lại: “Có yêu cầu thay đổi ai trong HĐXX không”? Nếu không có yêu cầu gì thì “nhập đề” luôn phần xét hỏi.
Nhưng rồi người điều khiển phiên tòa cũng gặp phải một cảnh trớ trêu, nên phải... đôi co với bị cáo. Hôm đó, đến vụ án thứ hai, vừa nghe vị chủ tọa nói: “Lúc đầu giờ tôi đã phổ biến quyền và nghĩa vụ của bị cáo, khỏi cần nói lại nhé. Bị cáo có muốn thay đổi ai trong HĐXX không?”. Bị cáo Nguyễn Hoàng Trung tròn mắt: “Gì ạ, bị cáo quên hết cả rồi”. Chủ tọa bực: “Có chắc phải nói lại không, mất thời gian lắm”. Bị cáo gãi đầu, ậm ừ: “Bị cáo...”. “Thế bị cáo chưa rõ chỗ nào, tòa nói lại chỗ đó?”. Bị cáo lí nhí: “Dạ... thôi tòa cứ nói đại đi, bị cáo biết gì mà hỏi?”. Vị chủ tọa cau có: “Mất thời gian với bị cáo quá, để tòa phổ biến lại từ đầu”.
Mới đây, tại một phiên xử hình sự diễn ra ở Tòa phúc thẩm TAND tối cao tại TP.HCM xét kháng cáo kêu oan của một bị cáo phạm tội giết người, một cảnh tượng đã khiến người dự khán khó tin được. Trong khi vị chủ tọa đưa ra chứng cứ cho thấy bị cáo cầm dao đâm, thì vị thẩm phán ngồi cạnh, từ đầu phiên xử đã ngửa cổ tựa đầu ra thành ghế, bỗng bật dậy gắt: “Cãi gì nữa”. Xong ông đập đập tay lên chồng hồ sơ nói: “Chứng cứ rành rành thế này mà còn cãi. Về chỗ đi. Loanh quanh chối tội...”. Nghe như vậy bị cáo tiu ngỉu, nhưng rõ ràng trên gương mặt tỏ vẻ không phục.
Hôm khác, tại phòng xử A cũng của tòa này, người dự khán cũng chứng kiến một vị thẩm phán thuyết phục bị cáo ngay khi vừa mở phiên tòa: “Chứng cứ rõ ràng rồi, kháng cáo cũng vậy thôi”. Lúc này, các luật sư phía dưới chỉ biết nhìn nhau to nhỏ “án chưa xử mà đã biết kháng cáo “cũng vậy”, bó tay”.
“Tuổi này ai lại đi ăn trộm”
Còn nhớ một vụ án, bị cáo nữ bị truy tố về tội “lừa đảo” do sau khi ngã giá, nhận tiền bán dâm xong, bị cáo lợi dụng sơ hở “chuồn”. Không may lần đó gặp phải một khách hàng không vừa, anh này bỏ thời gian tìm bị cáo ở nhiều điểm thường tụ tập gái bán dâm và “tóm” được bị cáo nộp công an. Trong phần xét hỏi vị hội thẩm nhân dân nói: “Bị cáo là người vô nhân đạo. Đã nhận tiền của người ta thì phải đi bán dâm chứ ai nhận tiền rồi lại chạy. Làm ăn như thế là mất uy tín...”. Hôm ấy không riêng gì người dự phiên tòa, ngay cả các thành viên khác trong HĐXX dường như cũng cố nhịn để không bật cười.
Lần khác, tại một phiên tòa xử vụ án gây rối trật tự công cộng của một TAND huyện, vị hội thẩm nhân dân cao giọng hỏi một bị cáo: “Khi tham gia gây rối có đem theo dao không?”. Bị cáo lí nhí thưa: “Dạ có”. Vị này hỏi tiếp: “Đem theo dao sao không đâm?”. Bị cáo chỉ biết ngơ ngác nhìn tòa, miệng ú ớ không biết nói gì.
Tại một phiên tòa xét xử vụ án trộm cắp, một vị hội thẩm nhân dân cũng hỏi bị cáo: “Trước khi đi ăn trộm, bị cáo có ghé nhà ai không?”. Bị cáo khai: “Dạ có, bị cáo ghé nhà ông nội của bị cáo chơi”. “Sao không ghé nhà ông ngoại?”. Bị cáo nhìn quanh rồi thưa: “Bị cáo không biết ạ”.
Lần khác, một vị hội thẩm nhân dân khi tham gia xét hỏi cũng đặt vấn đề: “Bị cáo bao nhiêu tuổi?”. “Dạ, 16 tuổi”. “Tuổi này là tuổi đi học, đến trường. Ai lại đi ăn trộm”. Bị cáo ngơ ngẩn hỏi: “Vậy, mấy tuổi mới đi ăn trộm được ạ?”...
Theo một số chuyên gia trong lĩnh vực pháp lý, cách xét hỏi theo kiểu quy buộc hoặc kiểu quát nạt làm cho bị cáo có cảm giác HĐXX thiên vị, ác cảm, mất đi tính dân chủ tại phiên tòa.
Bạn có biết Triết học là gì không
, Tôi xin giải thích:
"Triết học là 1 hiện tượng luận về hiện tượng mà đôi khi chúng ta luận về hiện tượng đó thì đúng là hiện tượng luận cho nên người ta mới gọi hiện tượng luận là luận về hiện tượng đó nhưng hiện tượng đó đôi khi không là hiện tượng luận nên luận về hiện tượng đó là hiện tượng luận”
Bi hài chuyện Tòa án
Trang
1
trong tổng số
1
trang
Similar topics
Similar topics
»
Những chuyện kỳ bí về thế giới tâm linh - Thiên phóng sự đặc sắc của Hoàng Anh Sướng
»
NHÂN NGÀY BẦU CỬ-Chuyện Chủ tịch Hồ Chí Minh đi bầu cử
»
Bắt đầu các chuyến vận tải biển trực tiếp từ Việt Nam đi Mỹ
»
CREEPYPASTA - Những câu chuyện kinh hoàng
»
Chuyện lấy vợ của thủy thủ....
Permissions in this forum:
Bạn
không có quyền
trả lời bài viết
K45KD.01 is no 1
::
Giao lưu tán gẫu
::
Trà đá(buôn chuyện, tán phét)
K45KD.01 is no 1
::
Giao lưu tán gẫu
::
Trà đá(buôn chuyện, tán phét)
Chuyển đến
:
Chọn Diễn Đàn
|
|--Thông báo !!!!
| |--Thông báo
| |--Danh sách lớp K45TĐH01
|
|--Tin tức K45KD01
| |--Tin tức bài giảng
| |--Sự kiện
| |--Thảo luận bài tập
|
|--Ảnh K45kd01
| |--ảnh động
| |--ảnh vui
| |--ảnh kỷ niệm
| |--ảnh thành viên
| |--Ảnh bạn bè
|
|--CNTT & Giải trí
| |--Download phần mềm, game,...
| |--Giới thiệu phầm mềm
| |--truyện cười
| |--Lập trình
| |--Quảng cáo - Tuyển dụng - Khác
|
|--Linh ta linh tinh
| |--HDSD forum
| |--Điện ảnh, tin tức sao
| |--Clip vui
| |--Bói vui
| |--Góc bạn gái
| |--"Share" bạn cho tôi
|
|--Giao lưu tán gẫu
| |--Tình yêu và giới tính
| |--Đời sống
| |--Trà đá(buôn chuyện, tán phét)
|
|--Phim
| |--Phim hot
| |--Phim hành động
| |--Phim hoạt hình
|
|--Your first category
| |--Your first forum
|
|--Góc game
| |--Game Au
| |--Game CF
| |--Game đế chế
| |--Game khác
|
|--ca nhạc
| |--Thành viên hát
| |--Ca nhạc
|
|--Thùng rác
Free forum
|
©
phpBB
|
Free forum support
|
Liên hệ
|
Report an abuse
|
Create your own blog


markdown:
K45KD.01 is no 1
we are k45kd01's
Tìm kiếm
Display results as :
Số bài
Chủ đề
Advanced Search
K45KD.01 is no 1
::
Linh ta linh tinh
::
Clip vui
Share
|
clip hay cực.công nhận teen Việt mình vô đối quá ! he
Tác giả
Thông điệp
ngandajka
Admin
Tổng số bài gửi
:
256
Points
:
608
Reputation
:
9
Join date
:
01/04/2010
Age
:
24
Đến từ
:
Thái Bình
Tiêu đề: clip hay cực.công nhận teen Việt mình vô đối quá ! he
Thu May 13, 2010 11:52 pm
[You must be
registered
and
logged in
to see this link.]
Vì một thế giới hòa bình !
ngandajka
Admin
Tổng số bài gửi
:
256
Points
:
608
Reputation
:
9
Join date
:
01/04/2010
Age
:
24
Đến từ
:
Thái Bình
Tiêu đề: past 2 ne`
Thu May 13, 2010 11:54 pm
[You must be
registered
and
logged in
to see this link.]
clip hay cực.công nhận teen Việt mình vô đối quá ! he
Trang
1
trong tổng số
1
trang
Similar topics
Similar topics
»
Tổng hợp các clip giải trí vui nhộn
»
[Video] Seung Ri tung clip 'dìm hàng' TOP và Tae Yang
»
GỞI CLIPS LÊN DIỄN ĐÀN, Từ A đến Z
»
Các cách sơ cứu cho trẻ em
»
Bài giảng phần Ổn định tàu của thầy Hùng
Permissions in this forum:
Bạn
không có quyền
trả lời bài viết
K45KD.01 is no 1
::
Linh ta linh tinh
::
Clip vui
K45KD.01 is no 1
::
Linh ta linh tinh
::
Clip vui
Chuyển đến
:
Chọn Diễn Đàn
|
|--Thông báo !!!!
| |--Thông báo
| |--Danh sách lớp K45TĐH01
|
|--Tin tức K45KD01
| |--Tin tức bài giảng
| |--Sự kiện
| |--Thảo luận bài tập
|
|--Ảnh K45kd01
| |--ảnh động
| |--ảnh vui
| |--ảnh kỷ niệm
| |--ảnh thành viên
| |--Ảnh bạn bè
|
|--CNTT & Giải trí
| |--Download phần mềm, game,...
| |--Giới thiệu phầm mềm
| |--truyện cười
| |--Lập trình
| |--Quảng cáo - Tuyển dụng - Khác
|
|--Linh ta linh tinh
| |--HDSD forum
| |--Điện ảnh, tin tức sao
| |--Clip vui
| |--Bói vui
| |--Góc bạn gái
| |--"Share" bạn cho tôi
|
|--Giao lưu tán gẫu
| |--Tình yêu và giới tính
| |--Đời sống
| |--Trà đá(buôn chuyện, tán phét)
|
|--Phim
| |--Phim hot
| |--Phim hành động
| |--Phim hoạt hình
|
|--Your first category
| |--Your first forum
|
|--Góc game
| |--Game Au
| |--Game CF
| |--Game đế chế
| |--Game khác
|
|--ca nhạc
| |--Thành viên hát
| |--Ca nhạc
|
|--Thùng rác
Free forum
|
©
phpBB
|
Free forum support
|
Liên hệ
|
Report an abuse
|
Free blog