Almanca: Nominative ve Accusative

Almanca öğrenirken ezberlenmesi ve anlaşılması gereken konuların başında artikeller gelir. Artikelleri tam anlamıyla ezberlemediğimiz zaman kurduğumuz cümlelerin anlam bütünlüğünü sağlayamayız. Başlangıçta önemsiz bir konu gibi görülse de Almanca da artikellerin önemi büyüktür.

Bu yazıda artikelleri ve cümle içerisinde nasıl çekimlendiği ile ilgili bilgileri bulabilirsiniz.

Almancada temel olarak 3 çeşit artikel vardır. Maskülin (der), Feminen ve çoğul (die) son olarakta Nötr (das).

Bu üç temel artikeller cümle içerisinde kullandığımızda özne, nesne, aitlik belirtirken de değişiklik gösterirler ve asıl karmaşanın başladığı nokta burasıdır. Aslında ilk başta öğrendiğimiz bu der, die, das artikeli cümle içerisinde yalın halde (nominative) kullanılır.

Bir cümle oluşturduğumuzda bu artikeller kullanım durumuna göre de sınıflandırmak gerekiyor. Örneğin şöyle bir cümle oluşturduğumuzda:

Adam elmayı yiyor.

Bu cümlenin öznesi Adam ve nesnesi elma oluyor. Bu cümleyi ingilizce şöyle yazabiliriz:

The man eats the apple.

“The” ifadesi ingilizce de adam’ın ve elmanın belli olduğunu gösterir. Yani bir adam ve bir elma var, Adam o elmayı yiyor.

Adam’ın ve elmanın belli olduğu bu cümleyi Almanca da şu şekilde yazabiliriz:

Der Mann isst den Apfel

“der” ve “den” artikeli bu cümlede “the” olarak kullanıldı. Fakat yukarıda der, die, das artikeli nasıl oldu da birden den oluverdi? Bunu anlamak için aşağıdaki tabloya bakmak gerekiyor.

Nominativ (Yalın Hâl): Cümlenin öznesi olan kelime bu hâlde kullanılır. Kim veya ne sorularına cevap verir.

Akkusativ (Belirtme Hâli): Cümlenin nesnesi olan kelime bu hâlde kullanılır. Kimi veya neyi sorularına cevap verir.

“Adam elmayı yiyor” cümlesindeki “elma” cümle içerisinde Accusative yani cümlenin nesnesi olduğu için ve Elma Almanca da maskülen bir kelime olduğu için cümle içerisinde “den” artikelini alıyor.

Nominative ve Akkusativ anlamlarına bakarak cümleye kim ve neyi sorularını sörduğumuzda hangi artikeli kullanmamız gerektiğini bulabiliyoruz.

Adam elmayı yiyor

Nominative: Kim yiyor: Adam: der Mann

Akkusativ: Nayi yiyor: Elmayı: den Apfel

Buna benzer cümleleri şu şekilde kurabiliriz:

Der Mann kauft den Apfel. (Adam elmayı satın alıyor.)

Die Frau sieht den Hund. (Kadın köpeği görüyor.)

Das Kind isst das Brot. (Çocuk ekmeği yiyor.)

Der Lehrer erklärt den Schüler. (Öğretmen öğrenciye açıklıyor.)

Der Vater holt das Auto. (Baba arabayı alıyor.)

Die Mutter kocht das Essen. (Anne yemeği pişiriyor.)

Das Mädchen liest das Buch. (Kız çocuğu kitabı okuyor.)

Der Junge trägt den Ball. (Oğlan çocuğu topu taşıyor.)

Die Katze fängt die Maus. (Kedi fareyi yakalıyor.)

Der Hund jagt die Katze. (Köpek kediyi kovalıyor.)

Der Mann öffnet die Tür. (Adam kapıyı açıyor.)

Die Frau schreibt den Brief. (Kadın mektubu yazıyor.)

Das Kind bringt den Stift. (Çocuk kalemi getiriyor.)

Der Junge findet den Schlüssel. (Oğlan anahtarı buluyor.)

Die Lehrerin gibt dem Schüler das Buch. (Öğretmen öğrenciye kitabı veriyor.)

Der Vater repariert den Computer. (Baba bilgisayarı tamir ediyor.)

Die Mutter kauft die Blumen. (Anne çiçekleri satın alıyor.)

Das Kind malt das Bild. (Çocuk resmi çiziyor.)

Der Junge bringt den Ball. (Oğlan topu getiriyor.)

Die Katze sieht den Vogel. (Kedi kuşu görüyor.)

Create a Table’s DDL Script in SQL Server

You can use below select query to create a table’s ddl script in sql server.

SQL Server ≥ 2017 & Azure SQL

 SELECT tmp.TABLE_SCHEMA, tmp.TABLE_NAME, 'TABLE' type_desc,
  'CREATE TABLE ' + tmp.TABLE_SCHEMA + '.' + tmp.TABLE_NAME + '(' + CHAR(10) +
    tmp.COLUMNS + CHAR(10) +
   ')' object_defination
  FROM (
   SELECT TABLE_SCHEMA, TABLE_NAME,
    STRING_AGG(
    CAST(
      ('  '+COLUMN_NAME + ' ' + DATA_TYPE) +
      (CASE WHEN CHARACTER_MAXIMUM_LENGTH IS NOT NULL THEN '('+ CONVERT(nvarchar(10), CHARACTER_MAXIMUM_LENGTH) +')' ELSE '' END) +
      (CASE WHEN COLLATION_NAME IS NOT NULL THEN ' COLLATE '+ COLLATION_NAME ELSE '' END) +
      (CASE WHEN IS_NULLABLE = 'YES' THEN ' NULL' ELSE ' NOT NULL' END)
     as NVARCHAR(MAX)
    ),
   ','+ CHAR(10)) WITHIN GROUP (ORDER BY ORDINAL_POSITION) AS COLUMNS
   FROM INFORMATION_SCHEMA.COLUMNS
   --WHERE TABLE_SCHEMA = '<Schema name>' AND TABLE_NAME = '<Table name>'
   GROUP BY TABLE_SCHEMA, TABLE_NAME
  ) tmp

SQL Server ≤ 2016

WITH create_table_defination AS (
 SELECT TABLE_SCHEMA, TABLE_NAME, COLUMN_NAME, DATA_TYPE, CHARACTER_MAXIMUM_LENGTH, COLLATION_NAME, IS_NULLABLE, ORDINAL_POSITION
 FROM INFORMATION_SCHEMA.COLUMNS
 )
SELECT
 t0.TABLE_SCHEMA,
 t0.TABLE_NAME,
 'TABLE' type_desc,
 'CREATE TABLE ' + t0.TABLE_SCHEMA + '.' + t0.TABLE_NAME + '(' + CHAR(10) +
   REPLACE(STUFF((
     SELECT
     CAST(',' +
         ('  ' + t1.COLUMN_NAME + ' ' + t1.DATA_TYPE) +
         (CASE WHEN t1.CHARACTER_MAXIMUM_LENGTH IS NOT NULL THEN '(' + CONVERT(nvarchar(10), t1.CHARACTER_MAXIMUM_LENGTH) + ')' ELSE '' END) +
         (CASE WHEN t1.COLLATION_NAME IS NOT NULL THEN ' COLLATE ' + COLLATION_NAME ELSE '' END) +
         (CASE WHEN t1.IS_NULLABLE = 'YES' THEN ' NULL' ELSE ' NOT NULL' END)
      as NVARCHAR(MAX)
      )
 FROM create_table_defination t1
 WHERE t1.TABLE_SCHEMA = t0.TABLE_SCHEMA AND t1.TABLE_NAME = t0.TABLE_NAME
 ORDER BY t1.ORDINAL_POSITION
  FOR XML PATH('')), 1, 1, ''),
   ',',
   ',' + CHAR(10)) +
   CHAR(10)+ ')'
  AS object_defination
FROM
 create_table_defination t0
GROUP BY
 t0.TABLE_SCHEMA, t0.TABLE_NAME